The deployment of the Internet of things (IoT) is lagging when compared to the forecasted data. This is due to the battery-limited IoT devices. One possible solution is to deploy energy harvesters and use energy management schemes. However, due to the time-varying availability of environmental factors and their effect on harvested power, a structured solution from ambient source and state of charge (SoC) prediction, to the utilization of energy management schemes needs to be presented. In this dissertation, we propose a costeffective ambient source prediction model, which we then feed into an energy harvesting management unit to predict the batteries' SoC. Lastly, we feed the predicted SoC into our scheduling algorithm to fulfill the application and balance the energy across the IoT network, by distributing the tasks. This solution reduces the deviation of the available energy of the nodes, whilst completing the application and abiding by its quality of service.