Energy price cap to rise to £4,279 a year