Abstract In this work, a new framework for control of power flow of an energy storage is proposed. As part of the framework, an advanced controller for manipulating the power flow of an energy storage system, a photovoltaic (PV) source, and the utility grid is developed. The new controller relies on the Model-based Predictive Control (MPC) concept. The proposed controller realizes an optimal control scheme that maximizes the local self-consumption of renewable energy source. At the same time, the energy consumption supplied by the electric grid is minimized subject to its price posted in the grid. The presented approach is evaluated through computer-aided simulations using data available from a real installation in Switzerland. The data consists of photovoltaic panels, industrial building as a load as well as a battery energy storage system (BESS).