Ok,
The code as it stands for anyone else wanting to follows below (again the "add code" button is not working for me for some reason so it's not as neat as it could be).
Explanation of the code...
It's written in C#.
targetlevel is the level of brightness that you want to raise the LED strip to, change it to whatever you want.
timeInSeconds - adjust this for the amount of time over which you want to raise the brightness of the strip, it's in seconds.
Each channel of the RGBW controller is raised in brightness equally (there is a separate channel for Red, Green, Blue and White, i.e. 4 in all). In this case it is incremented by 1% of brightness every 6 seconds. The code calculates how long a pause to put between each 1% raise of brightness for you.
Finally, once at 10% brightness (targetlevel is set at 10) the code pauses for 6 seconds and then turns the LED strip off. As this is for an alarm function this allows for some time to get out of bed and switch other lights on before it switches off automatically so you don't have to remember to do that when you are half asleep, it's in seconds again so change that for however long you want, I'm going to set it at 600 seconds, i.e. 10 minutes.
Don't forget to add the sub-channel modules to the group (as well at the main FibaroRGBW module) otherwise the code doesn't work! In my case the Fibaro Controller was module 7 and the sub-channels were modules 7.1, 7.2, 7.3, 7.4 and 7.5.
Note to eliminate all confusion for beginners like me, when I added these sub-channel modules I renamed them from "Dimmer 7.2", "Dimmer 7.3", etc to "Kitchen Floor 7.2", "Kitchen Floor 7.3", etc.
Note I was using an existing Fibaro RGBW controller and strip already installed into my kitchen to work the code out for this. Simply change all instances of Kitchen Floor or Kitchen Floor Lights to whatever you called your modules.
Startup Code:
return false;
Program Code:
int targetLevel = 10; // 100 is Maximum level
int timeInSeconds = 60; // 600 = 10 minutes
// Loop from 0 to targetLevel
for (int level = 0; level < targetLevel; level++)
{
Modules.WithName("Kitchen Floor 7.2").Command("Control.Level").Set(level.ToString());
Modules.WithName("Kitchen Floor 7.3").Command("Control.Level").Set(level.ToString());
Modules.WithName("Kitchen Floor 7.4").Command("Control.Level").Set(level.ToString());
Modules.WithName("Kitchen Floor 7.5").Command("Control.Level").Set(level.ToString());
Pause(timeInSeconds / targetLevel);
}
Pause(6);
Modules.WithName("Kitchen Floor Lights").Command("Control.Level").Set("0");