CO2 chart card
Who it’s for
Building managers and HVAC engineers who track ventilation effectiveness over time ask “is CO2 trending up or down, and by how much compared to last week?” A single reading does not say whether the ventilation system is doing its job; the trend does.
What it does
A sensor averaging 680 ppm this month, down from 870 ppm last month, shows a -22% delta in green — ventilation has improved. The chart below confirms the downward trend over the selected period.
- Large current CO2 value in the center, color-coded across four concentration levels from Good to Hazardous
- Percentage change vs. the previous period, with a colored arrow — green when CO2 is falling (better ventilation), red when rising (worse ventilation)
- Absolute CO2 change in ppm shown below the delta percentage
- Time-series chart of CO2 readings over the selected time window, averaged per interval
- Shows one sensor’s data; it does not compare multiple rooms or buildings
How to set up
Data keys
| Key | Role | Type | Description |
|---|---|---|---|
co2 | Chart series | Timeseries | CO2 concentration in ppm; drives the chart. The Latest, Delta percent, and Delta absolute overlays are automatically derived from this same key |
| Latest | Latest value | Timeseries | The headline figure above the chart. Its own color ranges are where the band colors are edited |
| Delta percent | Percentage change | Timeseries | Change against the previous period, as a percentage |
| Delta absolute | Absolute change | Timeseries | Change against the previous period, in the key’s own unit |
The widget ships with a simulated function datasource key labeled CO2 level, so it draws random values until you point the datasource at a device and rename the key.
To point it at your own device: open the dashboard in edit mode, open the widget’s Datasources, pick the entity or entity alias, and replace the function key with the key your device reports.
If the key has never reported for the selected time window, the chart is empty and all overlays show no data.
Value ranges
| Range (ppm) | Level | Color |
|---|---|---|
| 0–600 | Good | Green |
| 600–1000 | Moderate | Light Green |
| 1000–1500 | Elevated | Orange |
| 1500+ | Hazardous | Red |
How to customize
- To use your own CO2 thresholds — edit the color ranges on the Latest data key; adjust the four default levels to match your facility’s targets.
- To hide or show the chart — toggle Show chart in the widget settings.
- To change the chart line color — set Chart color.
- To show min, max, or total in the legend instead of avg — edit the Legend settings.
- To hide the entity name subtitle or the timestamp — turn off Show subtitle or Show date.
- To match your dashboard’s fonts — set the font options under each data key’s appearance settings.
Tips
- For CO2, a falling delta means better ventilation. The arrow turns green when CO2 drops vs. the previous period and red when it rises.
- The aggregation interval controls chart granularity. For a monthly view, a daily interval makes trends visible without too many data points.
- Pair this card with a CO2 alarm rule to get notified when a rising trend reaches the Elevated threshold before the space becomes uncomfortable.
Share Your Widget with the Community
Built a custom widget? Export it as a JSON from ThingsBoard and publish it to the IoT Hub through a simple 4-step wizard (Upload, Listing, Readme, Review & Submit). Share it with thousands of ThingsBoard developers worldwide and get featured in the catalog.