A basic battery management system (BMS) permits the safe charge/discharge of the batteries and the supply of loads. Batteries are protected to avoid fast degradation: the minimum and maximum state-of-charge (SOC) limits are not exceeded and fast charge/discharge cycles are not permitted. A more sophisticated BMS connected to a photovoltaic (PV) generator could also work with the double purpose of protecting storage and reducing peak demand. Peak reduction by storage generally requires the forecast of consumption and PV generation profiles to perform a provisional energy balance. To do it, it is required to have accurate information about production profiles, that is, to have at disposal accurate weather forecasts, which are not easily available. In the present work, an efficient BMS in grid-connected PV plants for residential users is described. Starting from raw 1-day ahead weather forecast and prediction of consumption, the proposed BMS preserves battery charge when it is expected high load and low PV production and performs peak shaving with a negligible reduction in self-sufficiency.