Changelog

Every release of the Volcast app and the Home Assistant integration, newest first.

September 2026

Config Doctor, forecast model update, API key without retyping

Config Doctor for everyone, a forecast model update that starts with east- and west-facing systems, plus a fix for the setup step where most Home Assistant problems started.

  • Config Doctor: the app checks your panel and inverter settings for common mistakes (string power in W instead of kW, tilt that does not match the roof, inverter smaller than the array, orientation) and shows what it found, with a one-tap fix where one can be applied safely.
  • Forecast model update for east- and west-facing panels, on since 9 September for accounts with such a string: corrected solar geometry that no longer shades those panels too early in the afternoon or too late in the morning, plus sub-hour integration of the sun path for a better hourly shape. Everyone else follows once monitoring is clean. Calibration re-learns over a few days, so totals may shift a little at first.
  • Settings → API Key shows only "Active" plus two buttons: Copy key and Share key. Nothing that looks like a key is shown on screen, so it cannot be read off and retyped. Share key opens the system share sheet, the practical way to move the key to the computer running Home Assistant.
  • Clipboard is cleared 5 minutes after Copy instead of 60 seconds, so cross-device clipboard sync has time to work.
  • Calibration ignores dead sensor readings at night (server-side, since late July).
  • The one-time lifetime purchase, closed to new buyers since 31 May 2026, is removed from the store listings. Existing lifetime owners keep Premium for good.
  • Google Play Billing library updated to version 8, required by Google for all updates after 31 August 2026. Purchases and restores behave exactly as before.
  • Nowcast: when actual production runs above the forecast, the upward correction is now damped (asymmetric damping), removing a small systematic over-correction seen in the field. Rolled out to everyone after a controlled trial.
  • Forecast freshness monitoring now checks every weather grid a user depends on, not just the worst one.

Resilience, force sync, and setup guardrails

First stable release since 1.6.1. Everything from the 1.6.2 and 1.7.0 pre-releases plus fixes found while running them for months.

  • Setup checks the pasted key before contacting the server. The shortened preview from the app (vk_xxxx...xxxx) gets a specific hint pointing to Copy or Share; anything else that is not a 67-character vk_ key is rejected with a plain message.
  • Counter baseline survives a Home Assistant restart: the daily energy baseline is persisted, so a restart mid-day no longer loses or double-counts the hours around it.
  • Submissions are split at the backend limit of 24 readings, so a long backlog drains instead of being rejected as a whole.
  • Force sync: a "Sync production now" button on the device page and the volcast.sync_production action (optional date) reconcile yesterday and today from Recorder statistics on demand.
  • Startup self-heal covers today as well as yesterday, so a gap from a mid-day restart heals immediately instead of at 00:30.
  • HAEO compatibility: pv_estimate (kW) on detailedForecast entries. Past-day forecast history is retained in the Energy Dashboard.
  • Default poll interval is 60 minutes; the server cache refreshes hourly, so polling more often had no value.

Pre-releases: 1.6.2-beta1 (May 30), 1.6.2-beta2 (Jun 2), 1.7.0-beta1 (Jul 24)

July 2026

One forecast everywhere

The header, the widget, the hourly list and the Home Assistant sensors now agree with each other to the decimal.

  • The "today" total in the header and widgets is the same calibrated total that is served to Home Assistant, instead of a separately computed raw × bias estimate that could drift from the hourly bars.
  • "Today" is resolved in your local time zone on both the app and the server. Users far east or west of UTC no longer saw yesterday's or tomorrow's forecast around midnight, and "last update" no longer looked stale.
  • Solar model fixes: snow cover now carries over between forecast days instead of resetting at midnight; circumsolar light no longer leaks through the horizon; a 0 °C reading is no longer treated as missing data.
  • Panel azimuth from the phone sensors is now tilt-compensated and works in both hemispheres.
  • Curtailment detection adds a clear-sky gate so cloudy-hour dips are not misread as inverter clipping.
  • Subscription handling: users who already paid for a subscription are no longer shown trial prompts.
  • Over-the-air updates: JavaScript-only fixes can now reach you without a store update.

June 2026

Calibration that earns its bias

  • Calibration (Kalman) now damps its correction until it has enough evidence, which stops over-correction for systems that were already accurate. Previously a near-unbiased system could be pulled down by a few cloudy days.
  • Fixed the app getting stuck on the splash screen after a failed first forecast load; it now recovers and shows the server forecast.
  • Premium forecasts are refreshed overnight so the morning view is current when you open the app.
  • Navigation fix: opening Settings or Calibration from a notification lands on the right screen.
  • Server-side: forecast staleness detector and alerting, refresh split across 8 parallel shards, groundwork for sub-hour solar geometry (behind a flag).

May 2026

Horizon editor, preview mode, and the last call for lifetime

  • Horizon editor: tap an obstacle to edit it, full-circle obstacles (0–360°) no longer collapse to a point, keyboard and save fixes.
  • Preview mode (Premium): see the effect of a configuration change on the forecast immediately, computed on the phone, instead of waiting for the next server refresh.
  • The 15-day outlook reads from the server cache, so it matches the 7-day view; old cache rows are cleaned up daily.
  • A banner counts down to 31 May 2026, the last day the lifetime plan can be bought. After that only monthly and yearly plans are sold. The cutoff is set remotely.

Resilience release

Hardens production submission and adds a daily reconciliation pass, so hours skipped because of a network glitch or a restart are re-submitted automatically.

  • Daily reconciler at 00:30 local time and on Home Assistant startup re-submits hours the backend did not receive, within the 36-hour acceptance window.
  • Persistent production retry queue with exponential backoff that survives restarts.
  • Diagnostic entities: queue depth, last reconciliation, and an integration-healthy binary sensor for automations.
  • Shared HTTP retry helper with jittered backoff for all API calls.
  • Fixes: energy_today derived in local time (no more UTC drift attributing early-morning energy to the wrong day); recorder declared as dependency to avoid a startup race; large attributes excluded from the recorder to keep the database small.

Pre-releases: 1.6.1-beta1 (May 6), beta6 (May 11), beta7 (May 16)

Server-side forecast and a clearer hourly view

Premium forecasts are now computed once on the server and served to the app, the widgets and Home Assistant, so every surface shows the same numbers.

  • Server-authoritative forecast for Premium: the app fetches the same forecast Home Assistant gets, with a local fallback and a visible banner if the server is unreachable.
  • Hourly view gets a three-way toggle: actual, forecast, or the difference per hour.
  • Home Assistant production data is accepted from all accounts, so calibration history builds up before you go Premium.
  • Subscription screen redesigned; expired, trial and promo states each show the right options.
  • Curtailment records now include the reason the hour was flagged.
  • Nowcast overlay is applied at write time on the server, so the app and Home Assistant see the same intraday correction.
  • Premium moves to subscriptions: monthly and yearly plans with a 7-day free trial through the store, alongside the existing lifetime option for a limited time. Accuracy display and calibration are unaffected.

Pre-releases: 1.3.3 and 1.3.4 were internal builds of this release

April 2026

Premium reminders and server groundwork

  • Notifications the day before and on the day your Premium ends.
  • Server-side: forecast cache refresh split into parallel shards, per-user canary flags, and a new physics model option behind a flag.

Battery SoC and curtailment detection

  • Detects inverter curtailment from battery state of charge; hours where the battery is full and the inverter is limited are excluded from calibration.
  • New battery_charge_power sensor, with automatic fallback to the last known SoC on Modbus dropouts.
  • Persistent retry queue: failed production submissions are queued locally and retried.
  • Detailed forecast attribute drops zero-power entries; carry-over logic for energy readings at hour boundaries.

Pre-releases: 1.6.0-beta.1 (Apr 2), beta.2 (Apr 3), beta.3 (Apr 5)

Italian, auto-calibration card, and the nowcast in the app

  • Italian added as the 13th language.
  • Home Assistant users see an auto-calibration card instead of the manual production input; manual entry is blocked when data arrives automatically.
  • The intraday nowcast correction shown in Home Assistant is now applied in the app too, so both agree during the day.
  • Actual-production bars show a dashed forecast line when actual exceeds forecast.
  • Hourly values are labelled in kWh, not kW.
  • Trial feedback prompt for users whose trial ended, with a three-strike skip.

Curtailment in the hourly view and a 14-day trial

  • Curtailment detection v2 based on battery state; curtailed hours are marked in the hourly forecast view.
  • 14-day free trial available from the paywall; one trial per account.
  • Promo codes no longer stack on top of an active Premium.
  • Fixed a race where Premium users briefly saw the 2-day free forecast after login.
  • Daily totals are derived from the per-hour calibrated values so the header matches the bars.
  • Registration screen reminds you to check the spam folder for the confirmation email.

March 2026

Production tracking and nowcast

  • Connect your inverter's energy or power sensor; the integration sends hourly production to Volcast for calibration and real-time nowcasting.
  • Clearer sensor descriptions during onboarding; both sensors optional and configurable later.
  • Works with GoodWe, Fronius, SolarEdge, Huawei, SMA, Enphase and any inverter exposing energy or power sensors in Home Assistant.
  • Fixes: hour-boundary flush keeps the previous hour's bucket; compatibility import for older Home Assistant versions.

Notification centre and hourly actuals

  • In-app notification centre: every alert the app sends is kept in an inbox you can expand and swipe away.
  • Hourly actual-vs-forecast overlay on the forecast screen for Home Assistant users.
  • Calibration uses per-hour cloud cover instead of a daily average, which improves partly cloudy days.
  • Celsius or Fahrenheit toggle in account settings.
  • Fixed dates shown one day off for users west of UTC.

Volcast 1.0

The first public release, in the App Store and Google Play since February 2026. Version 1.0.0 covers the launch builds up to late March.

  • Physics-based PV forecast from a multi-model weather ensemble: 2 days free, 7 days with Premium.
  • Hourly forecast with best-production-hours highlighting; home screen widgets on Android and iOS.
  • Push alerts: evening forecast for tomorrow, morning snow warning, production window.
  • Manual production entry and calibration against your real output.
  • Multi-string setups with per-string azimuth, tilt, horizon obstacles and bifacial panels; inverter AC clipping.
  • REST API and Home Assistant integration with a 5-minute forecast series and server-side cache (March).
  • iPad support with landscape layout and multitasking.
  • 12 languages at launch.

Detailed forecast attributes

  • detailedHourly attribute on all daily energy sensors with ISO timestamps, compatible with Solcast-style cards and automations.
  • detailedForecast attribute at 5-minute granularity (Premium, API v2).
  • power_now interpolation uses the detailed data when available.

API v2 and the public endpoint

  • Forecast data at 5-minute resolution (288 points per day) for today and tomorrow, served from a server-side cache.
  • Default API URL moved to https://volcast.app/api/forecast; existing installations keep working.

Pre-releases: 1.3.0 was published the same day and superseded

7-day sensors

  • Sensors for days 3 to 7 in addition to today and tomorrow, with hourly data as attributes.
  • Brand icons for Home Assistant 2026.3 and newer.
  • Removed the incorrect total state class from the energy_today sensor; a forecast is not a meter reading.

Pre-releases: 1.1.0 was published the same day and superseded

First release

  • Appears as a solar forecast source in the Energy Dashboard.
  • Sensors: energy today, energy tomorrow, power now (interpolated).
  • Peak production binary sensor with configurable threshold.
  • UI-based setup with your Volcast API key (Premium).

Dates are when each version was built. Store availability usually follows within a few days; Home Assistant releases are available through HACS immediately. Earlier app versions are summarised from the development history and group internal builds under the version that reached the stores.