A couple of things.
First, you are doing a good job by including multiple seasonalities. However:
demand <- msts(mydata$DEMAND,seasonal.period=c(24,182.5*24,365*24),start=2012)
Why do you include a seasonal cycle of length 182.5*24 for hourly data, i.e., half a year? Your seasonal cycles of length 24 already match daily cycles (day vs. night), and the ones of length 365*24 match yearly ones (summer vs. winter). I do not see a need for a cycle that repeats every six months.
However, there often is a difference between weekday and weekend electricity consumption, so it would be a good idea to include a cycle of length 7*24.
Next, don't misread the
stl plot. Note the grey rectangles on the right. The height is the same across all four panels in terms of y values. That is, what looks like a clear decreasing trend is a far weaker signal than the other components. Imagine rescaling the trend panel by squeezing it vertically until its grey rectangle is the same height as the grey rectangle in, say, the seasonal panel.
Finally, I would typically recommend a
tbats model to model electricity demand and/or load, which is exactly what you already did. If your
tbats model is not satisfactory, you will need to go farther to the frontiers of electricity load forecasting. For instance, I recommend Hong & Fan (2016). "Probabilistic electric load forecasting: A tutorial review". International Journal of Forecasting, 32(3): 914-938. You could also search for other articles on "load forecasting" in the IJF or elsewhere.
Finally, I took the liberty of adding the multiple-seasonalities tag to your question. Previous posts in this tag may be helpful.