Weather — site weather

GET /v1/plant/weather — display weather (secondary, not a lead product). Tmin/Tmax already in PV Forecast. Optional Loxone: Weather guide. Class weather: Community 48/day — hourly is enough.

What this does

Weather returns current conditions and a short daily outlook for the location in your plant profile — temperature, condition text, sun/rain, wind.

Everyday example: “Now 22 °C, partly cloudy, wind 12 km/h. Today max 27 °C, sunrise 05:48.”

Data source: Open-Meteo (keep attribution where you show weather).

When to use

  • “Weather” room / status displays in the smart home
  • Simple text panels without your own weather service

For PV kWh estimatesPV Forecast.

Endpoint


GET https://api.spotpriceapi.com/v1/plant/weather

Header:


X-API-Key: sf_live_YOUR_KEY

At least Community. Basic → weather_status: not_available.

Query parameters

ParameterDefaultValuesMeaning
days31…7Daily outlook from today
timezoneprofile / Europe/ViennaIANALocal times
localefrom TZde / enCondition labels + hints

Location from the portal

Coordinates come from the plant profile. Missing → weather_status: incomplete_input with portal_hint and portal_url.

Minimal example


curl -s "https://api.spotpriceapi.com/v1/plant/weather?days=3&locale=en&timezone=Europe/Vienna" \
  -H "X-API-Key: sf_live_YOUR_KEY"

{
  "weather_status": "ok",
  "weather_engine": "plant_weather_v1",
  "quota_class": "weather",
  "current": {
    "temperature_c": 22.1,
    "relative_humidity_pct": 55,
    "wind_speed_kmh": 12.0,
    "wind_direction_text": "NW",
    "solar_radiation_pct": 78,
    "condition": "Partly cloudy",
    "precipitation_mm": 0.0
  },
  "days": [
    {
      "date": "2026-08-12",
      "label": "D0",
      "temperature_max_c": 27.0,
      "temperature_min_c": 15.0,
      "condition": "Partly cloudy",
      "sunrise": "05:48",
      "sunset": "20:31",
      "precipitation_mm": 0.0
    }
  ],
  "loxone": {
    "temp_c": 22.1,
    "humidity_pct": 55,
    "wind_kmh": 12.0,
    "solar_pct": 78,
    "condition": "Partly cloudy",
    "wind_dir": "NW",
    "sunrise": "05:48",
    "sunset": "20:31"
  },
  "attribution": "Weather data by Open-Meteo.com"
}

Response fields (plain language)

FieldMeaning
weather_statusok / incomplete_input / weather_missing / not_available
current.*Now: temp, humidity, wind, solar %, condition
days[]Min/max, condition, sunrise/sunset, precip
loxone.*Flat fields for PicoC (temp_c, condition, …)
portal_hint / portal_urlWhen coordinates are missing

Flow


Portal: coordinates
        ↓
GET /v1/plant/weather?days=3
        ↓
current + days + loxone.*
        ↓
Text display / Virtual Inputs

Data source & refresh

ItemSpec
SourceOpen-Meteo Forecast at the plant lat/lon
Cacheplant_weather/{api_key_id}/latest.json (same cache as PV Forecast / Hours / portal)
ContentHourly up to 16 days (+ past 7): radiation, temp, humidity, pressure, precip, wind, weather code; daily: min/max, sun, rain
RefreshTimer spotforecast-plant-weather 2×/Vienna day: ~05:20 and 12:20 Europe/Vienna (±15 min, HA primary only) · also after portal geo save · schema upgrades force a same-day refresh · after 12:00 a morning cache is stale if fetched before ~11:00
API pathShort catch-up attempt if cache is stale (~8 s timeout), else weather_missing

Without portal coordinates there is no cache and no fetch.

Quota

Class weather: Community 48/day (Professional/OEM 288). Independent of Decision and of pv.

Attribution

Weather data: Open-Meteo. Credit the source on public displays.

Next steps

Start with SpotpriceAPI

Register for Community or code samples with your personal key.

Live API status