Mesh-Plug Shortcodes

Mesh-Plug provides flexible shortcodes for embedding Meshtastic dashboards across public pages, private admin views, and read-only embeds. The key concept is mode separation: observer (safe, cached, public) vs live (direct MQTT, authenticated).


1) Main Dashboard (Recommended)

Observer / Public Dashboard (Read-Only; Shareable)

[mesh_plug mode="observer" height="520px"]

Use this for:

  • Public-facing pages
  • Sharing dashboards with non-Meshtastic users
  • Community, HOA, neighborhood watch, or informational sites

Behavior:

  • No MQTT connection from the visitor’s browser
  • Data is served from the server snapshot
  • Safe and consistent across devices
  • No credentials exposed

Optional attributes:

  • height="520px"; container height
  • class="my-custom-class"; custom styling hook

This is the default and recommended configuration for any page that may be publicly accessible.


Live Dashboard (Admin / Operator Use)

[mesh_plug mode="live" height="520px"]

Use this for:

  • Administrators
  • Operators who need real-time chat and packet flow
  • Debugging and testing

Behavior:

  • Connects directly to MQTT over WebSocket
  • Requires valid broker credentials
  • Displays full packet activity and live log

⚠️ Not recommended for public pages.
Live mode should only be used where authentication and access control are guaranteed.


2) Auto Mode (Legacy / Transitional)

[mesh_plug]

Behavior:

  • Admin users may receive live mode
  • Public users fall back to observer mode (if server cache is enabled)

This mode exists primarily for backward compatibility with older installs.

Best practice: explicitly set mode in all new shortcodes.


3) Map-Only View

[mesh_plug view="map" mode="observer" height="500px"]

Shows:

  • Interactive map
  • Node markers

Does not show:

  • Node table
  • Log panel

Great for:

  • “Where are we?” pages
  • Blog post embeds
  • Lightweight visual overviews

4) Node List-Only View

[mesh_plug view="nodes" mode="observer"]

Shows:

  • Node list
  • Online / offline status
  • Signal and link information

No map and no log.

Ideal for text-first layouts or narrow containers.


5) Log-Only View

[mesh_plug view="log" mode="observer" height="300px"]

Shows:

  • Observer diff log
  • Online / offline transitions
  • Movement and state change events

Good for:

  • Status panels
  • Sidebars
  • Monitoring-only displays

6) Compact / Card View

[mesh_plug view="compact" mode="observer"]

Shows:

  • Total node count
  • Online node count
  • Last update timestamp

Nice for:

  • Dashboards
  • Landing pages
  • “System status” sections

Minimal footprint; no tables or maps.


7) Force Observer Mode (Hard Lock)

[mesh_plug mode="observer" force="1"]

Use this when:

  • You never want MQTT connections attempted
  • The page must remain public at all times
  • You want to prevent accidental live connections, even for admins

This is ideal for public sharing links and embedded dashboards.


Common Attributes (All Shortcodes)

AttributeDescription
modeobserver or live
viewdashboard, map, nodes, log, compact
heightCSS height for the container
force1 = never allow live mode
classCustom CSS class

Recommended Defaults (Best Practices)

Public share page

[mesh_plug mode="observer" force="1" height="600px"]

Admin operations page

[mesh_plug mode="live" height="700px"]

Read-only embed

[mesh_plug view="map" mode="observer" height="400px"]

Mesh-Plug Permissions Matrix

Mesh-Plug has two operating modes:

  • Observer; read-only; data served from the server snapshot; safe for public pages.
  • Live; real-time; browser connects to MQTT over WebSocket; requires broker credentials; admin/operator only.

Role-based recommendations

Audience / RoleCan view ObserverCan view LiveRecommended shortcodeNotes
Public visitor (logged out)
Disconnected
  
Use for share links and public pages; prevents any live attempts.
Registered subscriber / member
Disconnected
  
Same as public unless you explicitly want to grant live access.
HOA/community moderator
Disconnected
  
Best for community pages; avoids credentials exposure.
Site editor (WordPress Editor role)❌ (default)
Disconnected
  
Editors can manage content; do not grant live by default.
Site admin (WordPress Administrator)Ops page:
Disconnected
  
Live mode only on restricted pages; requires broker creds configured.
Mesh operator (trusted)✅ (optional)
Disconnected
  
Only if they understand MQTT topics, channels, and logs.
Developer / installer
Disconnected
  
(staging)
Prefer staging or password-protected environments for testing.

Page-level patterns

Page typeGoalRecommended modeRecommended viewExample
Public Share PageSafe read-only dashboardObserver + forceDashboard
Disconnected
  
Community “Where are we?”Map onlyObserver + forceMap
Disconnected
  
Private Admin OpsReal-time monitoring/chatLiveDashboard
Disconnected
  
Status Panel / SidebarQuick health checkObserver + forceCompact or Log
Disconnected
  

Access control rules

  • Live mode should never be used on public pages. It requires credentials and creates a browser-to-broker connection.
  • Use force="1" for any share link to guarantee observer-only behavior, even if an admin visits the page.
  • Create a dedicated “Ops” page for live mode and restrict it with WordPress capabilities, membership rules, or basic auth.