First release of pvlearn: the ML forecast core extracted out of
solaredge2mqtt's forecast module, standalone and I/O-free.
What's in this release
Forecaster,PFISelector,ForecasterType: the training/prediction
pipeline, unchanged in behavior fromsolaredge2mqtt.BaseEncoder/CategoricalEncoder/CyclicalEncoder/TimeEncoder/
SunEncoder: the feature engineering, decoupled from process-global state
(timezone, logging) so it works for more than one PV plant per process.Location,ForecasterConfig: primitive, serializable config types
replacing solaredge2mqtt's settings objects.ForecastResult: the energy aggregation logic (today, remaining today,
current hour, next hour, tomorrow), decoration-free so downstream projects
can build on it without pulling in Home Assistant-specific decoration.PVLearnErrorhierarchy for typed error handling.
Verified against a frozen reference dataset and baseline forecast recorded
from solaredge2mqtt's production code: retraining on the same data
reproduces its predictive quality (MAE/R²) and feature selection.
Not in this release
solaredge2mqtt does not depend on pvlearn yet - that wiring lands in its
own PR in the solaredge2mqtt repository. pvlearn is not yet usable
standalone; the [service] REST API extra is Phase 2 of the roadmap.
See pvlearn-umsetzungsplan.md for the full
roadmap.