Directory / plugin
IoT Data Widget – Home Assistant, MQTT & Smart Home Sensors
v1.0.8 · by wpveloxa
Show live data from your smart home devices on your WordPress site with a shortcode or block. Pro adds more data sources, history graphs and alerts.
About this plugin
IoT Data Widget lets you embed live values from smart home sensors and devices — temperature, humidity, tank levels, device status, anything with a numeric or text value — on any WordPress page or post. Activating the plugin drops you straight into a guided setup wizard that gets you from “no connection” to a working widget and a ready-to-paste shortcode in a few clicks.
The free version is fully functional, not a crippled trial: unlimited connections, Home Assistant, push mode, Generic REST, the Card/Status list/Gauge display styles, the shortcode and Gutenberg block, the setup wizard, and the diagnostics page all work with no time limit and no license. Pro adds more data sources, history graphs and alerts.
What you can build with it
- A “conditions right now” box on a guesthouse or holiday-rental site: outdoor temperature, room temperatures, humidity.
- A status panel for a workshop, greenhouse or server room: a pump or relay shown as “Running” with a green dot, a tank level on a gauge.
- A kiosk tablet or lobby screen with a full-screen, theme-free page of live values (Pro).
- An alert by email or webhook when a freezer, aquarium or boiler leaves its safe range (Pro).
Data sources
- Home Assistant — any entity, picked from a searchable list.
- Push mode — your device, script or Home Assistant automation sends readings to your site; works from any hosting, with ready-to-paste snippets for Shelly, Tasmota, ESPHome and Home Assistant.
- Generic REST — any API that returns JSON, with or without authorization.
- Device presets (Pro) — Shelly, Tasmota and ESPHome (pick the device and enter its IP address, no JSONPath needed; Shelly Gen1 and ESPHome presets are in beta), and Supla (paste the channel’s direct link from Supla Cloud).
- Shelly Cloud (Pro).
- MQTT (Pro) — polled every 2 minutes, or real-time with the optional server-side listener (requires SSH access).
Free
No time limit, no license, unlimited connections: Home Assistant, push mode, Generic REST data sources; Card/Status list/Gauge display styles; status rules (a text and a status colour for a value or range); the setup wizard, shortcode, Gutenberg block, and diagnostics page.
Pro
- More data sources — device presets for Shelly, Tasmota, ESPHome and Supla, Shelly Cloud, and MQTT.
- History graphs — Chart and Mini trend (sparkline) display styles, plus Grid for entities from different connections in one widget.
- Alerts and reports — email or webhook alerts when a value crosses a threshold, and recurring email reports with min/max/average.
- Embed and export — a token-protected public embed page without the site theme, and CSV export of recorded history.
- Manually tracked entities — history and alerts for widgets placed outside post content, e.g. in theme templates.
Agency adds white-label branding on top of Pro. You can compare plans and upgrade from IoT Data Widget Upgrade in your WordPress admin.
External services
This plugin connects to two services that are not the smart-home API/device you configure yourself:
- Freemius (licensing, update delivery, and — if you opt in — basic usage analytics). On first activation you’re asked whether to allow anonymous diagnostic data (server environment, WordPress/PHP version, plugin version, site URL) to be sent — you can decline, and review/opt out again later from your account on freemius.com. No data about your connections, entities, or the values they return is ever included. Terms of Service, Privacy Policy.
- Open-Meteo (optional, user-triggered) — clicking “Try it with demo data” in the setup wizard fetches live weather for a Warsaw coordinate pair from Open-Meteo, purely to show a working example widget. No account or personal data involved. Terms & Privacy. Skip this step and no request is ever made.
Every other outbound request goes only to the URL/host you configure for a connection.