I’ll post errors appropriately for future posts, thanks.
Thanks for your input, very helpful. Let me recap what I understand so far to see if its clear.
LSTM expects by default its input as a tensor of form  (seq_length, batch, input_size).
seq_length is the size of the window of timesteps I want to use to predict the next timestep, right? For example if I want to use 5 previous observations to predict the next one it would be seq_length = 5.
batch is the number of samples.
input_dim is the  number of features at each timestep (so at each step of seq_length) and corresponds to the number of features for each timestep. If I only have the time series this would be 1, but if I add e.g. one-hot hour of the day this would be a 1 + 24= 25 length vector for each timestep.
Two questions:

Is this accurate?
If it is: when the input is a matrix (say 5 steps x 25 features) does this affect the way I instantiate nn.LSTM? For example nn.LSTM((5,25), hidden_dim)?