Govee Sensors
WordPress plugin that displays Govee smart-home sensor readings (temperature, humidity, CO₂, air quality) via block or shortcode.
Install
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.zipDisplay 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
- Get an API key from the Govee Home app: Profile → Settings → Apply for API Key.
- Add it to
wp-config.php:define( 'GOVEE_API_KEY', 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ); - 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
airQualityindex 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)