Estimate battery voltage based on scheduled events and previous behaviour
One of the simplest ways to get to some predictions would be to use a model like ARIMA, which looks at recent previous observations to predict a number of steps ahead. ARIMA stands for Autoregressive Integrated Moving Average:


Autoregressive means that something looks at its own (auto) historical values
Integrated refers to the _differencing, a step tp help remove non-stationarity
Moving Average just means the model also takes the moving average into account (helps keep predictions in reasonable ball park)


Here is a good little explanation of the main points in more detail.

In your case, given there are factors such as weather and time of data to be used, you would probably benefit from using seasonality. For this there is an extended ARIMA, called SARIMA - where S stands for seasonal.
There is an implementation in Python's statsmodels package - or if you want to use R, then maybe take a look at the forecast package by the great Rob Hyndman, or the sarima package.



If you want to use something a little more modern and cutting edge, then you are really talking about Recurrent Neural Networks (RNNs). I am not sure how familiar you are with there? One key term you should understand: LSTM - a type of unit that considers past data, current data and maintains a state of your model at a specific point in time.

Have a look at a walkthrough (example) to see if it makes sense to you.



ARIMA type models are easy to get running and the results are easy to interpret, so you really know what is going on. The performance of things like RNNs should be better, but it is rarely a short walk to success... of course it will depend on your data.