WP Manifestindependent plugin directory
manifest / integrations / govee-sensors-wordpress

Govee Sensors

WordPress plugin that displays Govee smart-home sensor readings (temperature, humidity, CO₂, air quality) via block or shortcode.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/trevorbicewebdesign/govee-sensors-wordpress/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Display readings from Govee smart-home sensors — temperature, humidity, CO₂, and air quality — anywhere on your WordPress site via a shortcode.

Readings are pulled from the Govee Platform API on a WP-Cron schedule and cached, so page loads are instant and you stay well within Govee's rate limits.

Setup

  1. Get an API key from the Govee Home app: Profile → Settings → Apply for API Key.
  2. Add it to wp-config.php:
    define( 'GOVEE_API_KEY', 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' );
  3. Activate the plugin. The first poll runs within a minute; after that it refreshes every 5 minutes.

To change the interval, define it (in seconds) before the plugin loads:

define( 'GOVEE_SENSORS_POLL_INTERVAL', 10 * MINUTE_IN_SECONDS );

Block editor

Add the Govee Sensors block (under Widgets, or search "govee"). The sidebar exposes the same filters as the shortcode — device, SKU, type, metrics, columns, and an optional heading — with a live preview of the current readings right in the editor. The block is dynamic: readings are rendered fresh on every page load from the cache, never saved into the post content.

Shortcode

The shortcode remains available for Classic-editor content, widgets, or template do_shortcode() calls:

[govee_sensors]
Attribute Description Example
device Match device name (substring, case-insensitive) or exact MAC. Comma-separated for several. device="Office, Kitchen"
sku Filter by SKU. Comma-separated. sku="H5140"
type Filter by device type: thermometer, air_quality_monitor. type="air_quality_monitor"
metric Show only these metrics. Aliases: temperature, humidity, co2, air_quality. Comma-separated. metric="co2,temperature"
columns Grid columns (default 3). columns="2"
title Optional heading above the grid. title="Living Room"

Examples

[govee_sensors sku="H5140" metric="co2"]
[govee_sensors device="Office" columns="2"]
[govee_sensors type="thermometer" metric="temperature" title="Fridges & Freezers"]

Notes

  • Temperatures are reported in °F (matching the device's configured unit).
  • Air Quality (H5106) is reported by Govee as a single airQuality index value, not a raw PM2.5 µg/m³ figure — it's shown as-is under the "Air Quality" label.
  • Offline sensors are shown dimmed with an "offline" badge and no stale readings.
  • Nothing is written to the database except one cached option (govee_sensors_readings); deactivating clears the scheduled poll.

Files

govee-sensors.php                  entry point, constants, activation/deactivation
includes/
  class-govee-sensors.php          orchestrator: cron, shortcode, admin notice
  class-govee-client.php           Govee Platform API HTTP client
  class-govee-poller.php           polls all sensors, caches readings, metric registry
  class-govee-shortcode.php        [govee_sensors] rendering + filtering
assets/
  govee-sensors.css                shortcode styles (light/dark aware)