One man's noise is another man's signal. In this case the noise is the signal of interest, and you need a way to filter out the "noise" - the thing you don't want to see.
In this case it seems that your signal band and noise band are far apart - the noise has a high frequency and the signal has a low frequency. Running the signal through a high-pass filter and then calculate the variance of the result and compare with a threshold should give you a good result.
Not being a signal processing expert I whipped something up in octave using arbitrary constants until I found something that seemed to select for the noise:
[b,a]=butter(2,1/6,"high")
filtered = filter(b,a,data);
noise = movingrms(filtered,96,1);
I used a moving RMS instead of variance because it's more or less the same thing when you have removed the DC component through the high-pass filter, and it was the first I found in octave. I used the butterworth filter because I like it! (And it doesn't have any parameters to tweak). There are many ways to filter and find the resulting energy, even a peak detection could work. Details about selecting the best methods are better asked over at DSP.
The high-pass filter is necessary to remove what you call "seasonal" variations (looks more like a daily cycle) and the downward trend. Experimentally I found that a second order filter is probably necessary.
Then you need to figure out a way to tell the computer how much the signal is fluctuating, and while a simple peak detection on the resulting noise may work, I find that calculating the RMS over a short range is far more robust. In the example above I made that range as long as one of your daily cycles, and that seemed to work well. It is easy to experiment with different lengths to see what works best.