Solar photovoltaic thin film power generation and storage