Here is another way of doing it: (Code in C#)
Startup code:
return false; // Probably not needed anymore, still put it there out of habit :)
Program Code:
// Fibaro RGBW LED strip (HomeAutomation.ZWave)
int targetLevel = 50; // 100 is Maximum level
int timeInSeconds = 60; // 600 = 10 minutes
// Loop from 0 to targetLevel
for (int level = 0; level < targetLevel; level++)
{
// 10.2 Red, 10.3 Green, 10.4 Blue, 10.5 White
Modules.WithName("LED 10.2").Command("Control.Level").Set(level.ToString());
Modules.WithName("LED 10.3").Command("Control.Level").Set(level.ToString());
Modules.WithName("LED 10.4").Command("Control.Level").Set(level.ToString());
Modules.WithName("LED 10.5").Command("Control.Level").Set(level.ToString());
Pause(timeInSeconds / targetLevel);
}
In my case the LED strip is called LED strip Main and the color channels are 10.1, 10.2 etc. See the starup code of the FIbaro RGBW APP for more information on how it works.
I've set targetLevel to 50 and timeInSeconds to 60 to make it easier to test, change them to the desired values once it's working as you like.
I've also set it up so that all colors are increased equally, you can play around with it to get different Hues. You'll nee to experiment with that though, it the way the RGBW controller works sometimes the colours weren't changing as I'd expected.
You can run it from within the code editor, or from another Progarm with Program.Run("ProgramId"); or with a HTTP command, although I haven't tested that.