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.

by Trevor Bice · github.com/trevorbicewebdesign/govee-sensors-wordpress · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/trevorbicewebdesign/govee-sensors-wordpress/archive/refs/heads/main.zip

Readme

Govee Sensors

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)

Read the full README on GitHub →