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
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.zipReadme
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
- 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)