Releases: springfall2008/batpred
GECloud: support three-phase register aliases
What's Changed
- GECloud: support three-phase register aliases, safe inverter_mode handling, warning suppression, and default resets by @Copilot in #3815
Full Changelog: v8.37.1...v8.37.2
Solis and Solax cloud bug fixes
What's Changed
- Fix solis timezone bug by @springfall2008 in #3809
- Solax issue with toggle switches by @springfall2008 in #3808
- Solis, quick rate limit hack by @springfall2008 in #3810
Full Changelog: v8.37.0...v8.37.1
v8.37.0
Changelog
v8.37.0
Bug Fixes
- ML Load forecasting — Fixed an incorrect inflation of ML load predictions caused by
clean_incrementing_reversebeing applied to power sensors (which are not incrementing). Forecasts for users with Load ML enabled should now be more accurate. (#3784) - SolisCloud — Time windows for charge/discharge are now cleared before writing new ones, preventing overlapping windows that could cause unexpected inverter behaviour. (#3787)
- Forecast.Solar —
Noneresponses from the Forecast.Solar API are now handled gracefully, preventing 429 crash loops when the API is rate-limiting or returning empty data. (#3793) - Load ML + in-day adjustment — The classic in-day load adjustment is now gated off when Load ML is enabled, preventing the two systems from conflicting and distorting load predictions. (#3792)
- MINE time window helpers —
input_datetimeandinput_textentity types are now correctly supported inset_state_external, fixing broken time window helpers in MINE setups. (#3795)
New Features
Open Meteo Solar Forecast (#3796)
A new free solar forecast source using the Open Meteo API. No API key or account required. It can be used as an alternative or supplement to Solcast and Forecast.Solar.
Add open_meteo_forecast: to your apps.yaml:
open_meteo_forecast:
- postcode: SW1A 2AB # UK postcode, or use latitude/longitude
kwp: 3.5 # Array peak power in kWp
declination: 35 # Panel tilt from horizontal (degrees)
azimuth: 180 # 0=N, -90=E, 90=W, 180=S (Solcast convention)
efficiency: 0.95 # Optional loss factor (default 1.0)
open_meteo_forecast_max_age: 4.0 # Hours between cache refreshes (default 4)Multiple arrays with different orientations can be listed — their outputs are summed automatically.
Predbat fetches both a P50 (central) forecast and a P10 (pessimistic) forecast from Open Meteo's ensemble API, applying a temperature-corrected PV model for accuracy. Per-month shading_factors are also supported for site-specific shading correction.
- Per-Month Shading Factors (#3798)
When using the Google Solar API (or manually), a 12-element list of per-month shading factors can now be configured to improve solar yield accuracy throughout the year, accounting for seasonal shading from trees, buildings, etc.
Marginal Cost Matrix Published to Predbat Gateway (#3783)
The marginal cost matrix is now published to the Predbat gateway, enabling richer external integrations and dashboards.
Compare Feature Improvements (#3799)
The tariff comparison feature has been upgraded to support larger battery sizes and now uses rolling average data for smoother, more reliable cost comparisons.
The Compare feature lets you model what your energy costs would be on different tariffs (or with different hardware) using your actual usage patterns. Predbat runs a full optimisation for each tariff scenario once per day and publishes the results as Home Assistant sensors.
To use it, add a compare_list: to your apps.yaml:
compare_list:
- id: agile
name: "Octopus Agile"
rates_import_octopus_url: "https://api.octopus.energy/v1/products/AGILE-24-10-01/electricity-tariffs/E-1R-AGILE-24-10-01-{dno_region}/standard-unit-rates/"
rates_export_octopus_url: "https://api.octopus.energy/v1/products/OUTGOING-FIX-12M-19-05-13/electricity-tariffs/E-1R-OUTGOING-FIX-12M-19-05-13-{dno_region}/standard-unit-rates/"
- id: flux
name: "Octopus Flux"
rates_import_octopus_url: "https://api.octopus.energy/v1/products/FLUX-IMPORT-23-02-14/electricity-tariffs/E-1R-FLUX-IMPORT-23-02-14-{dno_region}/standard-unit-rates/"
rates_export_octopus_url: "https://api.octopus.energy/v1/products/FLUX-EXPORT-BB-23-02-14/electricity-tariffs/E-1R-FLUX-EXPORT-BB-23-02-14-{dno_region}/standard-unit-rates/"You can also override hardware specs per-scenario (e.g. override_soc_max_kwh, override_battery_rate_max_charge_kw) to model what a larger battery or faster charger would save you. Results are visible in the Predbat web UI under the Compare view and as predbat.compare_tariff_<id> sensors. A manual run can be triggered via switch.predbat_compare_active.
See the Compare documentation for full configuration options.
New Contributors
Full Changelog: v8.36.3...v8.37.0
Bug fixes for Axle, Kraken, Gateway and Octopus
What's Changed
- Fix Axle notification timezone for DST/BST by @springfall2008 in #3778
- Fix kraken issue with missing tariff data by @springfall2008 in #3776
- Fix gateway to use inverter ID by @springfall2008 in #3777
- Fix Octopus Intelligent FLUX to use import rates as fallback for export rates
- Fix missing float value in LuxPower automation by @brickatius in #3771
Full Changelog: v8.36.2...v8.36.3
Fox Cloud fix with multiple batteries
What's Changed
- FOx Cloud, fix issue with multiple batteries where one isn't enabled by @springfall2008 in #3770
Full Changelog: v8.36.1...v8.36.2
GECloud inverter limit, Futurerate auto, docs, bug fixes
What's Changed
Features
- Futurerate - add automatic detection of Agile mode by @springfall2008 in #3744
- GE Cloud - Detect Inverter limit from model by @springfall2008 in #3755
Bug fixes
- fix: Kraken email/api_key auth silent failure when both auth mixins are present by @Copilot in #3737
Documentation
Full Changelog: v8.36.0...v8.36.1
Marginal energy cost tracking
What's Changed
Marginal Energy Cost Matrix
Predbat now calculates the marginal cost of energy — how much each extra kWh of consumption will actually cost you at different times and load levels, based on the current optimised plan.
After each plan run, Predbat simulates consuming an additional 1, 2, 4 or 8 kWh (representing low, medium, high and EV-scale loads) across seven upcoming time windows (now through +12 hours in 2-hour steps). The delta against the baseline plan gives the true marginal cost in p/kWh, accounting for battery dispatch, solar, and tariff interactions.
New Home Assistant sensors
sensor.predbat_marginal_energy_costs— state is the 1 kWh marginal cost right now; thematrixattribute contains the full 4×7 cost table, grid import/export rates per window, and per-level cost-now values.binary_sensor.predbat_marginal_rate_now_{low|med|high|ev}_is_cheap—onwhen the marginal cost for that load level is at or belowrate_min × 1.2.binary_sensor.predbat_marginal_rate_now_{low|med|high|ev}_is_moderate—onwhen the cost is above cheap but withinmax(rate_max × 0.5, rate_min × 1.5).
These binary sensors are ideal for automations — start an EV charge, dishwasher, or hot water boost only when energy is genuinely cheap for the amount of energy your device will use.
New MarginalCosts chart page
The web interface gains a MarginalCosts chart tab with three sections:
- A status table showing cheap/moderate status (colour coded green/yellow) for each load level right now.
- A compact Grid Rates heatmap — actual import and export rates across the seven forecast windows.
- A Marginal Energy Cost heatmap — the full 4×7 matrix coloured green (cheap) through red (expensive) on a shared scale.
- A history & forecast line chart — seven days of recorded marginal rates and grid import/export rates, with the current matrix values plotted forward in time.
- feat: Marginal energy cost matrix — heatmap chart + HA sensors by @springfall2008 in #3751
Full Changelog: v8.35.7...v8.36.0
Gateway and GECloud EVC fixes
What's Changed
- Gateway fixes for soc chart by @springfall2008 in #3739
- Fix GE Cloud Direct EVC API 422 errors after BST clock change by @Copilot in #3738
Full Changelog: v8.35.6...v8.35.7
Gateway fixes, documentation
What's Changed
- Gateway timezone fixes by @springfall2008 in #3736
- Add sample recorder filter configuration to FAQ by @daviessm in #3637
Full Changelog: v8.35.5...v8.35.6
SolaX Cloud Fixes
What's Changed
- Workaround for solax missing battery device by @springfall2008 in #3732
Full Changelog: v8.35.4...v8.35.5