Skip to content

Weather

Particle Man creates a native Home Assistant weather entity using the Google Weather API, along with several extra sensors for data that doesn't fit the standard weather card.


The Weather Entity

The weather entity appears as Particle Man Weather in your weather cards and automations. It works with all native HA weather cards and supports the weather.get_forecasts action.

Current Conditions

Property Source
Condition Mapped from Google's weather condition type
Temperature Current air temperature
Feels Like Apparent temperature accounting for humidity and wind
Dew Point Temperature at which air becomes saturated
Humidity Relative humidity (%)
Wind Speed Speed at standard anemometer height
Wind Direction Bearing in degrees
Wind Gust Maximum gust speed
Pressure Mean sea level pressure (hPa)
Visibility Horizontal visibility distance
UV Index Current UV index
Cloud Cover Percentage of sky covered by clouds
Ozone Ozone concentration in ppb (from Air Quality API; None when Air Quality is disabled)

Forecast Types

The entity exposes three forecast types accessible via weather.get_forecasts:

Type Coverage Entries
hourly Next 24 hours 24 entries, one per hour
daily Next 5 days 5 entries, daytime conditions
twice_daily Next 5 days 10 entries (day + night per day)

Each forecast entry includes: condition, temperature, apparent temperature, precipitation probability, precipitation amount, wind speed/bearing/gust, humidity, pressure, cloud coverage, and UV index. Daily and twice-daily entries also include a low temperature. Daily precipitation is the 24-hour total (daytime + overnight). Hourly entries additionally include dew point. Hourly entries are always filtered to start at the current hour — past hours are automatically excluded, so the list stays current even if data was fetched before quiet hours started.

Condition Mapping

Google's weather conditions are mapped to Home Assistant standard conditions. (Google weather condition types)

Google Condition HA Condition
CLEAR (daytime) sunny
CLEAR (nighttime) clear-night
MOSTLY_CLEAR, PARTLY_CLOUDY partlycloudy
MOSTLY_CLOUDY, CLOUDY, OVERCAST cloudy
DRIZZLE, LIGHT_RAIN, RAIN, RAIN_SHOWERS rainy
HEAVY_RAIN, HEAVY_RAIN_SHOWERS pouring
THUNDERSTORM, THUNDERSTORM_WITH_RAIN, SCATTERED_THUNDERSTORMS lightning-rainy
LIGHTNING lightning
LIGHT_SNOW, SNOW, HEAVY_SNOW, SNOW_SHOWERS, BLIZZARD snowy
SLEET, HAIL, FREEZING_RAIN, FREEZING_DRIZZLE, ICE_PELLETS, WINTRY_MIX hail
FOG, HAZE, SMOKE fog
WINDY, BREEZY windy
DUST, SAND, TORNADO, HURRICANE, TROPICAL_STORM exceptional

Extra Weather Sensors

These sensors expose weather data that doesn't fit into the standard WeatherEntity schema.

Thunderstorm Probability (%)

The probability of a thunderstorm occurring in the current hour. Useful for automations that need to respond before a storm arrives rather than after conditions worsen.

Heat Index (°)

The "feels like" temperature accounting for high humidity in warm conditions. Only meaningful when temperature and humidity are both elevated; Google returns null otherwise.

Wind Chill (°)

The "feels like" temperature accounting for wind in cold conditions. Only meaningful in cold weather; Google returns null otherwise.

UV Index Category

The current UV index expressed as a plain-language WHO category: Low, Moderate, High, Very High, or Extreme. The raw UV index value is available as the uv_index attribute. The numeric UV index is also available directly on the weather entity.


Weather Alert Sensors

When weather alerts are enabled (Configure → Weather Options), Particle Man creates three sensors:

Alert Count

State: The integer count of currently active warnings (0 = no alerts).

Attributes:

Attribute Description
alerts Full list of active alerts — each entry includes title, severity, event type, area, start/expiration time, description, and instructions
highest_severity Worst severity among active alerts: MINOR, MODERATE, SEVERE, or EXTREME
active_event_types Sorted unique list of active event type codes (e.g. FLOOD_WATCH, TORNADO_WARNING)

Alert Highest Severity

State: The worst severity level across all active alerts: MINOR, MODERATE, SEVERE, or EXTREME. None when no alerts are active.

Use directly in automations to trigger on severity level without reading attributes.

Alert Event Types

State: Comma-separated sorted list of active alert type codes, e.g. FLOOD_WATCH, TORNADO_WARNING. None when no alerts are active.

Note

Weather alerts are only available in regions covered by Google's public alerts service, primarily the US and some international regions. (Weather API coverage)

A count of 0 with None severity and event types means no alerts are currently active — the sensors are working normally.


Units

The weather entity and extra sensors use the units selected in Configure → Weather Options:

Setting Temperature Wind Precipitation Visibility
Metric °C km/h mm km
Imperial °F mph in mi

Home Assistant can convert between units for display purposes independently of the units stored in the sensor.


API Calls

The weather data is fetched from three Google Weather API endpoints per poll cycle:

Endpoint Purpose
GET /currentConditions Current state, extra sensors
GET /forecast/hours 24-hour hourly forecast
GET /forecast/days 5-day daily + twice-daily forecast
GET /publicAlerts Active weather alerts (only if enabled)

This totals 3 calls per poll (4 with alerts enabled). At 60-minute polling: ~2,160 calls/month — well within Google's 10,000/month free tier. See Reference — How data updates for full quota math.