A custom Home Assistant integration that provides soil temperature data at multiple depths using the Open-Meteo free API.
- Soil temperature at up to 4 depths: 0cm (surface), 6cm, 18cm, and 54cm
- Configurable depth selection — choose which depths to monitor during setup or later via options
- Current temperature, 24-hour average, and 5-day average for each selected depth
- 7-day daily forecast included as attributes in 24-hour average sensors, with an optional static naming mode for dashboard card compatibility
- Zone-based configuration (uses your HA zone's coordinates)
- 30-minute polling interval
- HACS compatible
- Open HACS in Home Assistant
- Click the three dots menu (top right) → Custom repositories
- Add
https://github.com/JB09/HA-Get-Soil-Tempas an Integration - Search for "Soil Temperature" and install
- Restart Home Assistant
- Copy the
custom_components/soil_temperaturefolder to your Home Assistantcustom_componentsdirectory - Restart Home Assistant
- Go to Settings → Devices & Services → Add Integration
- Search for Soil Temperature
- Select a zone (e.g., "Home") — the integration uses the zone's latitude/longitude
- Select which soil depths to monitor (6cm is selected by default)
- Done! 3 sensors are created per selected depth
For each selected soil depth, three sensors are created:
| Sensor | Description |
|---|---|
| Current | Latest hourly soil temperature reading |
| 24h Average | Mean temperature over the last 24 hours |
| 5-Day Average | Mean temperature over the last 5 days |
The 6cm depth sensors use simplified names (e.g., "Soil Temperature Current") since this is the most commonly referenced depth for gardening and agriculture.
24-hour average temperature sensors include a 7-day daily forecast as extra state attributes. By default, attributes are named by date (e.g., forecast_2024-03-15: 52.3).
Enable "Use static forecast attribute names" in the integration options to switch to indexed attribute names that don't change daily. This is useful for dashboard cards like Bubble Card sub-buttons that require static attribute references.
| Attribute | Description |
|---|---|
forecast_0d |
Today's forecast temperature |
forecast_0d_date |
Today's date (e.g., 2024-03-15) |
forecast_1d |
Tomorrow's forecast temperature |
forecast_1d_date |
Tomorrow's date |
| ... | Up to forecast_6d / forecast_6d_date |
All temperatures are reported in Celsius. Home Assistant will automatically convert to Fahrenheit if your system is configured for imperial units.
This integration uses the free Open-Meteo API which provides:
- Hourly soil temperature data at 0cm, 6cm, 18cm, and 54cm depths
- Up to 16 days of forecast data
- 5 days of historical data
- No API key required
To monitor soil temperature at different locations, simply add the integration multiple times — each with a different zone. Create custom zones in Home Assistant under Settings → Areas & Zones → Zones.