Photovoltaics and energy storage