=== MQTT-Plug === Contributors: potar Donate link: https://www.paypal.com/ncp/payment/4RV65EGN96SLS Tags: mqtt, iot, websocket, realtime, dashboards, telemetry Requires at least: 6.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Real-time MQTT dashboards inside WordPress. Connect securely over WebSocket (WS/WSS) and visualize live IoT data, logs, and events. == Description == MQTT-Plug brings live MQTT data directly into WordPress using secure WebSocket connections. It is designed for developers, IoT experimenters, and small production deployments that want real-time visibility without building a custom frontend. Unlike traditional MQTT tools, MQTT-Plug focuses on **embedding live data into WordPress pages, posts, and dashboards**, while keeping credentials safe and configuration simple. ### Key Features * Connect to MQTT brokers over WS/WSS * Live message stream and event log * Topic-based subscriptions * Shortcode-driven embeds * Works with public or authenticated dashboards * Designed for modern MQTT backends (Mosquitto, EMQX, HiveMQ, The-Link-Builders, managed brokers) * No external Node services required * Lightweight; no tracking, no telemetry, no lock-in MQTT-Plug is infrastructure-agnostic. You control your broker, topics, and data flow. == Installation == 1. Upload the `mqtt-plug` folder to `/wp-content/plugins/`, or install via the WordPress plugin installer. 2. Activate the plugin through the *Plugins* menu. 3. Go to **Settings → MQTT-Plug** to configure your broker connection. 4. Add the shortcode to any page or post. == Configuration == In **Settings → MQTT-Plug**, configure: * Broker host * WebSocket port * TLS / secure connection (WSS) * Username and password (if required) * Base topic or subscription filter * Debug logging (optional) All credentials are stored using WordPress options and are never exposed to public users unless explicitly enabled. == Usage == Basic shortcode: [mqtt_plug] Optional attributes: * `height="520px"` – set container height * `class="custom-class"` – add a CSS hook * `mode="observer"` – server-fed or read-only views (if enabled) Example: [mqtt_plug height="600px" class="iot-dashboard" mode="observer"] == Security Notes == * Public pages should **not** use live credentials. * Use observer or server-fed modes for public dashboards. * Always prefer WSS when exposing MQTT over the internet. * Rotate credentials regularly for production systems. MQTT-Plug does not open inbound ports on WordPress and does not proxy MQTT traffic through the server unless explicitly configured. == Frequently Asked Questions == = Does this replace my MQTT broker? = No. MQTT-Plug is a viewer and frontend. You still need an MQTT broker. = Which brokers are supported? = Any MQTT broker that supports WebSockets, including Mosquitto, EMQX, HiveMQ, and managed services. = Can I use this for production systems? = Yes, provided you follow standard MQTT security practices. For large-scale or multi-tenant systems, a managed broker is recommended. = Is JavaScript required? = Yes. MQTT-Plug uses browser-based WebSocket connections for live data. == Screenshots == 1. Live MQTT dashboard 2. Log Tab 3. History Tab 4. Settings == Changelog == = 1.0 = * Initial stable release * Hardened settings validation * Improved connection lifecycle handling * Observer-safe rendering * Clean shortcode API * Production-ready defaults == License == GPLv2 or later. == Upgrade Notice == = 1.0 = First stable release of MQTT-Plug. Suitable for production use. == Credits == Developed by **Michael Winchester** For documentation and updates, visit [https://meshplug.michaelwinchester.com/](https://meshplug.michaelwinchester.com/)