Automating Your Mesh-Plug Network

Webhooks, Notifications, and Integrations

Updated: January 2026

Once your Mesh-Plug installation is ingesting Meshtastic data and rendering it inside WordPress, you’ve done more than build a dashboard. You’ve established a server-side data pipeline capable of automation, alerting, and system-to-system integration.

Mesh-Plug is designed to act as a control and distribution layer between off-grid mesh networks and on-grid services. This guide walks through how to extend that pipeline using server-side automations, outbound webhooks, and native WordPress hooks; all without exposing MQTT credentials or relying on browser-side logic.


Architecture Overview: How Automation Works in Mesh-Plug

Mesh-Plug processes incoming Meshtastic data after ingestion, not in the browser.

Depending on your deployment, data may arrive via:

  • Direct MQTT ingestion (live mode; admin / operator use)
  • Server-side collectors and snapshots (observer mode; public / shareable dashboards)
  • Future webhook or batch ingestion paths

Once normalized, each packet is passed through Mesh-Plug’s internal event pipeline, where it can trigger actions such as:

  • Writing to NodeDB or historical archives
  • Evaluating conditions and thresholds
  • Sending outbound webhooks
  • Triggering email or internal alerts
  • Firing native WordPress actions for custom code

All automation logic runs server-side, inside WordPress. No browser JavaScript, no long-running daemons, and no dependency on Node-RED or external workflow engines.


Automation Rules (Current State)

Mesh-Plug automations are intentionally conservative and deterministic. Rather than an overly abstract “visual flow builder,” rules are designed to be:

  • Auditable
  • Predictable
  • Safe for shared hosting and VPS deployments
  • Compatible with observer-mode dashboards

Automations are configured under:

Mesh-Plug → Automations

Each rule consists of:

  1. Trigger – When the rule evaluates
  2. Conditions – Optional filters on message fields
  3. Actions – One or more responses, executed in order

Example: Battery Voltage Alert

Goal: Send an email when any node reports low battery voltage.

Rule Configuration

  • Trigger: Message Ingested
  • Scope: Telemetry packets
  • Condition:
    • Field: battery
    • Operator: <
    • Value: 3.5
  • Action: Send Email

Email Template

  • Subject: Low Battery Detected on {{node_name}}
  • Body:
    Node {{node_id}} reported low battery ({{battery}} V) at {{timestamp}}.

Once enabled, Mesh-Plug evaluates every incoming telemetry packet. When the condition matches, the action fires immediately; no polling, no cron delay.


Webhooks: Forwarding Data to External Systems

Webhooks are the primary integration mechanism in Mesh-Plug. They allow you to forward normalized mesh data to any external system capable of receiving HTTP requests.

Common use cases include:

  • Laravel or Rails backends
  • Node-RED flows
  • Custom logging APIs
  • Automation platforms
  • Long-term analytics pipelines

Example: Forward Telemetry to a Custom API

  • Trigger: Message Ingested
  • Packet Type: Telemetry
  • Action: Webhook (POST)

Endpoint

https://yourserver.com/api/meshtastic

Payload

{
  "node_id": "{{node_id}}",
  "node_name": "{{node_name}}",
  "battery": "{{battery}}",
  "rssi": "{{rssi}}",
  "snr": "{{snr}}",
  "timestamp": "{{timestamp}}"
}

Mesh-Plug sends a signed, server-side request each time new data arrives. The receiving system can store, visualize, or act on the data instantly.


Time-Series and Analytics Pipelines

Mesh-Plug does not attempt to replace dedicated analytics platforms. Instead, it acts as a clean data forwarder.

InfluxDB / Grafana Example

  • Action: Webhook
  • Method: POST
  • Endpoint:
http://localhost:8086/write?db=meshtastic

Body (Line Protocol)

telemetry,node={{node_id}} battery={{battery}},rssi={{rssi}} {{timestamp}}

Once enabled, all matching telemetry flows directly into InfluxDB and becomes available for Grafana dashboards, alerts, and historical analysis.


Native WordPress Hooks for Advanced Customization

For sites that need tighter CMS integration, Mesh-Plug exposes internal hooks you can bind to in custom plugins or themes.

Example: Update a Device Post Meta Field

add_action('mesh_plug_message_ingested', function ($msg) {
    if (!empty($msg['node_id']) && isset($msg['battery'])) {
        $post = get_page_by_title($msg['node_id'], OBJECT, 'devices');
        if ($post) {
            update_post_meta($post->ID, 'last_battery', $msg['battery']);
        }
    }
});

This allows you to:

  • Keep public device pages updated
  • Drive custom dashboards
  • Sync mesh data with other WordPress plugins
  • Maintain a fully CMS-native data model

Chained Actions and Conditional Responses

A single rule may execute multiple actions in sequence.

Example: High Temperature Response

  • Condition: Temperature > 30 °C
  • Action 1: Webhook → Cooling Control API
  • Action 2: Email → Administrator
  • Action 3: Log → Internal Alerts Table

This layered approach lets you respond automatically while still maintaining human visibility and audit trails.


Scheduling and Snapshot-Based Automations

Mesh-Plug includes a lightweight scheduler that integrates with WordPress cron.

Use scheduled automations for:

  • Daily or hourly summaries
  • Health checks
  • Snapshot validation
  • Offline detection

Example: Daily Status Report

  • Trigger: Scheduled (Daily)
  • Action: Email

Body

Node A battery: {{latest('node_a','battery')}} V
Node B battery: {{latest('node_b','battery')}} V

The latest() helper resolves values from the most recent server-side snapshot; no live MQTT connection required.


Integrating with Cloud Automation Platforms

Mesh-Plug webhooks are compatible with nearly all third-party automation tools:

PlatformUse Case
IFTTTTrigger smart-home or notification events
ZapierForward data to Slack, Sheets, email, or CRMs
Home AssistantUpdate entity states from mesh telemetry
AWS Lambda / Cloud FunctionsRun custom scripts or analytics

Because Mesh-Plug runs server-side, credentials and secrets are never exposed to the browser.


Logging, Auditing, and Troubleshooting

Every automation execution is logged under:

Mesh-Plug → Logs → Automations

Logs include:

  • Timestamp
  • Rule name
  • Node ID
  • Condition result
  • Action success or failure

If an action fails:

  • Verify the webhook endpoint returns HTTP 200
  • Check WordPress and PHP error logs
  • Confirm outbound requests are allowed by hosting or firewall rules

Logs can be exported for audits or diagnostics.


Security and Deployment Considerations

ConcernRecommendation
Credential exposureNever embed secrets in JavaScript
Public dashboardsUse observer mode with server snapshots
Rate limitsApply limits at the broker or collector layer
Field deploymentsDisable outbound webhooks if isolation is required
BackupsAutomations are stored in WordPress options; include them in backups

Mesh-Plug is designed to degrade safely; if automations are disabled, dashboards continue to function.


Practical Automation Scenarios

  • Off-grid weather stations publishing public status pages
  • Community mesh dashboards with alerting but no live MQTT
  • Fleet or asset tracking with WordPress-based reporting
  • Environmental monitoring with escalation workflows
  • Forwarding mesh data into Laravel or other SaaS platforms

Final Notes

Automation is what turns Mesh-Plug from a viewer into a system.

By combining server-side ingestion, controlled automation, outbound webhooks, and native WordPress hooks, Mesh-Plug allows you to connect off-grid radios, on-grid services, and human-readable dashboards without compromising security or reliability.

Whether you’re running a private mesh, a public observer dashboard, or a hybrid deployment, Mesh-Plug provides a stable foundation for event-driven, mesh-aware applications; entirely within WordPress.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *