Changelog

What's new in HelioTest — features, improvements, and fixes.

v0.1.9 2 Jun 2026

fixed
  • Capacity tests where the filtering steps (most often the inverter/system clipping filter) remove all or nearly all data now fail with a clear message naming the responsible filter

v0.1.9 1 Jun 2026

fixed
  • CSV uploads with blank-but-not-empty cells (a literal space between commas, e.g. `, ,`) no longer fail when loading the chart
  • SolarEdge sites with two or more gateways exposing the same sensor types (e.g. ambient temperature and direct irradiance on both gateways) can now be fetched. SolarEdge reuses the same sensor `id` on every gateway, which previously made the discovered stream IDs collide

v0.1.8 27 May 2026

fixed
  • PVsyst files exported under a US locale (month-first `M/D/YYYY` dates, e.g. `1/13/1990`) now upload successfully.

v0.1.7 26 May 2026

added
  • New Layer-1 quality check `Inverter sum vs site power` — warns when more than 10 % of 15-min bins exceed the 1 % consistency tolerance between summed per-inverter AC power and the configured site_power column, typically indicating CT-scaling, double-counted inverters, or mis-aligned data periods.
changed
fixed
  • SolarEdge 5-min sensor and inverter telemetry timestamps are now relabeled to HelioTest's start-of-interval convention at ingestion (the API labels these readings at the END of the bin they cover, while `site_power` is start-labeled, creating a 0/5/10-minute cycling phase error between irradiance and power. After the fix a 5-min sensor reading at `T = 12:25 UTC` lands at `12:20 UTC`.
  • Expired JWT sessions now surface to the user instead of failing silently.

v0.1.6 24 May 2026

added
  • Test configuration now exposes `regression_terms` toggles (`irradiance_squared`, `temperature`, `wind`) that control which terms appear in the ASTM E2848 regression. Disabling all three makes irradiance-only capacity tests possible — no temperature or wind sensor required.
  • Ten Layer-1 sensor-health input checks: stuck-sensor and daily-range detection for ambient temperature (2–40 °C) and back-of-module temperature (3–60 °C); wind speed physical bounds (0–50 m/s) and stuck-zero/stuck-constant detection; module temperature vs. ambient cross-check under irradiance (swapped-sensor indicator)
  • Three POA pyranometer checks: stuck daytime reading for more than 1 h (blocker), nighttime offset above 5 W/m² or more than 1 % daytime negatives, and inter-sensor p95 deviation above 8 % on high-irradiance intervals
  • Quality check: Maximum power mismatch (modeled vs measured) — compares measured peak power to modeled peak power in a modeled window spanning two weeks before and two weeks after the measured period, and raises a warning when mismatch exceeds 5%
  • Quality checks for modeled vs measured irradiance consistency: one flags major clear-day phase shifts such as one-hour DST alignment errors, and one compares clear-day cumulative irradiance against the clearest modeled day in a three-week seasonal window
  • Quality check: PVsyst file orientation consistency — flags configurations where multiple sub-arrays with different orientations share a single PVsyst file; severity is `warning` when module ratings differ (biased capacity ratio) and `info` when they are uniform
  • Quality check: Estimated POA risk — warns whenever measured-side `poa_weighted` is synthesized from GHI/DHI and grades the transposition risk from low to elevated based on site orientation spread, bifacial arrays, DHI provenance, and array count
  • Quality check: Clipping aggressiveness — warns when measured clipping filters remove at least 15% of points entering clipping or at least 25% of the measured top-power quartile, surfacing downward bias from over-pruning peak intervals
  • Quality check: Capacity ratio sensitivity to RC choice — recomputes the test capacity ratio at both the modeled and measured reporting conditions and warns when the two values differ by more than 3 %, surfacing cases where the headline test result is unstable with respect to RC selection
  • Quality check: Retained day diversity — warns when the retained measured regression sample is supported by fewer than three days or when a single day contributes more than 60 % of retained points, surfacing fragile fits that look numerically adequate but are dominated by too little day-to-day support
  • Quality check: Retained cloudy vs clear-sky balance — classifies retained points by whether their source day looks cloudy-like or clear-sky-like relative to a seasonal modeled clear-day benchmark, and warns when the retained sample misses one regime or is dominated by only one sky condition
  • Quality check: Irradiance-dependent offset — compares measured and modeled regression predictions across retained measured operating points and warns only when the offset changes materially across retained irradiance bins, surfacing slope/curvature mismatch and high- or low-POA-specific effects rather than uniform underperformance alone
  • Quality Checks for test results added: a new "Quality Checks" tab on the test result page lists checks grouped by data-flow layer (input → filter → regression → RC robustness) as expandable rows with severity-aware defaults
  • Filtering Results tab: two linked Plotly charts (POA vs Power scatter and Power-over-time series) below the filter tables, with points colored by the filter step that first removed them or green when retained; a shared legend toggles matching points on both charts at once; a Measured / Model source toggle (defaulting to Measured) switches the data set; consecutive per-inverter clipping steps collapse into a single "Inverter-level Clipping" legend entry, mirroring the grouped row in the filter table.
  • PDF test result report now includes a note under the filtering results intro paragraph and inside each filter summary card (Model Data and Measured Data) stating that ASTM E2848/E2939 requires a minimum of 50 retained data points for a valid capacity test.
changed
  • Test result header now displays the actual test-run name instead of a hardcoded placeholder ("PV-001 Capacity Test")
  • Test-run window (the time interval covered by every uploaded measured-data file simultaneously) is now surfaced in two places: next to the test name in the Test Results header (replacing the modeled-data period that previously appeared there) and next to the "Configuration" card title, so it is visible even before the test has been run
  • Data & Export tab now renders the full set of retained measured and model data points inside the scrollable tables instead of truncating to the first 50 rows, so users can inspect every retained point without exporting the CSV
  • SolarEdge stream discovery now lists inverters in alphabetical order by name and no longer offers DC voltage or inverter temperature streams, since those signals are not used in practice
  • Regression Results tab redesigned: replaced separate coefficient and p-value tables with a single merged table showing model/measured/difference/p-values per term; added a regression quality banner (good/review recommended/poor) with computed status logic; added three key metric cards for R² model, R² measured, and a₁ agreement; added contextual inline notes below the coefficient table for conditions that warrant interpretation
  • Test configuration modal now shows an Array Configuration cross-check line with total module count and total installed STC power (sum of all arrays), computed on the frontend to match PVsyst report totals
  • Create Test Run modal: the "Duplicate from an existing test run" option is now a prominent toggle card at the top (green-tinted background, switch-style control with icon and description) and defaults to ON whenever the PV system already has test runs, so users don't accidentally start from scratch when they meant to duplicate. The modal now also stays open during the create/duplicate API call with a visible spinner and a "Creating…"/"Duplicating…" button label, and surfaces backend errors inline instead of closing without feedback
fixed
  • SolarEdge sensor telemetry timestamps that arrive with second-level offsets are now snapped to the nearest 5-minute interval before merge, so weather streams align with inverter/power timelines instead of appearing mostly null in combined views.
  • Home page FAQ JSON-LD now includes the trailing link sentence (e.g. "Learn more in our guide to bifacial PV capacity testing.") in `acceptedAnswer.text`, so the structured data matches the visible answer and avoids Google's mismatched-content warning for `FAQPage` rich results
  • "Fix Issues" in test configuration now keeps the modal open and scrolls to section-level frontend validation anchors for missing arrays, missing sensor requirements, inverter-clipping prerequisites, and filtering-order problems instead of closing immediately on backend-only config errors

v0.1.5 23 Apr 2026

added
  • added regression model chart to "Regression Results" tab
  • added retained data points chart to "Data & Export" tab
changed
  • Clicking "Fix Issues" in the test configuration summary now opens the configuration modal directly at the first invalid field, matching the invalid-field navigation used by "Update Configuration"
fixed
  • Chart legend labels no longer have their casing mangled by the case-converter interceptor (e.g. `GHI_measured` was rendered as `ghiMeasured`)
  • PVSyst CSV files exported by PVSyst 8.1.0 now parse correctly; that version contains a known bug where the date format changes mid-file from `D/M/YYYY H:MM` (4-digit year, no leading zeros) to `DD/MM/YY HH:MM` (2-digit year, zero-padded) at day 13 of the first month
  • Modeled data filtering now removes statistical outliers (elliptic envelope), eliminating PVSyst-simulated downtime intervals (zero power on clear-sky days)

v0.1.4 20 Apr 2026

added
  • Report title selector in export dialog with four options: Performance Test Report, Capacity Test Report, Production Test Report, ASTM E2848 - Test Report
  • PV system name shown in PDF report header and cover page when the site has more than one PV system
  • Enable organization ownership transfer
changed
  • Bifacial column in PDF report now shows "Excluded*" instead of "Yes*" for bifacial modules tested as monofacial

v0.1.3 16 Apr 2026

added
  • Custom company logo upload in Organization Settings, displayed on PDF report header
  • Free-text remarks field on test runs, editable from the export dialog and rendered in PDF reports
  • Export report dialog with logo preview and remarks editor before PDF/data download
  • "Bifacial (treated as Mono)" panel type option for systems with bifacial modules but no rear-side irradiance sensors, with explanatory footnote in PDF report
  • enable measured data from multiple data sources (e.g. weather from AlsoEnergy via CSV + Inverter data from SolarEdge via API)
  • Allow missing data points in pre-filtered data (e.g. missing inverter power during night-time)
  • PVsyst ↔ HelioTest azimuth inline converter in array configuration form
fixed
  • PVsyst v8.x.x output file format parsing
  • Keep test run status unchanged on name changes or changes to the PDF report remarks

v0.1.2 9 Apr 2026

added
  • Sandbox feature: "Try Sandbox" button on public site provisions an isolated demo environment with cloned data, no sign-up required
changed
  • Moved monitoring API connection from site level to PV system level, allowing different PV systems to use different API connections

v0.1.1 2 Apr 2026

added
  • Create service offer to support users on their first test setups

v0.1.0 18 Mar 2026

added
  • Public launch of the platform under the HelioTest brand
  • Privacy policy page
  • Security hardening against common web attack vectors (path traversal, header injection, enumeration)

v0.0.4 26 Feb 2026

added
  • SolarEdge API integration — automatically fetch monitoring data directly from SolarEdge for use in test runs
  • AlsoEnergy API integration — automatically fetch monitoring data directly from AlsoEnergy
  • Multiple measured data files — upload and combine more than one measured data CSV/Excel file per test run
  • Test run duplication — clone an existing test run to quickly reuse its configuration
  • 5-minute and 15-minute timestep support — measured data at sub-hourly resolution is now accepted
  • Collapsible grouping of inverter-level clipping rows in the filter table
  • Improved PDF test report with a dedicated result summary page
  • Site editing directly from the Dashboard
fixed
  • Dropdown color styling in data tag selectors
  • Site not loading correctly on initial login

v0.0.3 22 Dec 2025

added
  • Organization management — create organizations, invite team members, and switch between workspaces
  • Team member invitations with role-based access control (owner, admin, member, viewer)
  • Email address verification on account registration
  • My Account page for managing user profile
  • Support for multiple PVsyst date formats in uploaded modeled data files
  • Improved UTC and naive timestamp handling in measured data parser
  • Site coordinate inputs (latitude and longitude)
  • Beta version notification banner

v0.0.2 28 Nov 2025

added
  • PDF report generation for test results
  • CSV export of filtered and unfiltered test result data
  • Full results package download (CSV + PDF in one archive)
  • Blog with technical articles on PV performance testing
  • Separate public marketing website with landing page, pricing, and about pages
  • "Book a Demo" scheduling via Calendly integration
  • In-app documentation tooltips for all test configuration fields
  • Reporting condition configuration: choose GHI or POA irradiance source, optional wind speed, PV array STC rating in watts
  • BOM (back-of-module) or air temperature support in test result calculations
  • System-level and inverter-level clipping analysis
fixed
  • PVsyst file validation with descriptive error messages on invalid or malformed files
  • Measured data upload error messages and per-file validation warnings

v0.0.1 7 Oct 2025

added
  • Initial working platform
  • Site management — create and organize solar sites
  • PV system management per site with archive toggle
  • Test run creation with detailed configuration: inverters, arrays, irradiance sensors, and sensor-to-array mapping
  • Upload of PVsyst modeled data files (.CSV)
  • Upload of measured in-field data files (CSV/Excel)
  • Time series charts for modeled and measured data
  • Performance test execution based on the ASTM E2848 standard
  • Test result visualization with summary statistics, filter tables, and regression coefficients
  • Data and export tab on test results
  • User authentication: registration, login, JWT-based sessions