Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,


as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.


As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!



Smart Home Forum by FIBARO Team

6 Screenshots

About This File

Advanced Alarm Clock

First release on the French board in March 2019.



This VD+Scene Bundle will help you to wake up in better shape by simulating a smooth dawn with any device in your HC2 : Roller Shutters, lights devices and VD.

After the ignition at the value that you have set up in the VD, the scene can fade one or more speakers. The curves for light and audio fade in can be choosen separately.

The scene manages itself if it's day or not. So, for each light you will set up in the scene, you can decide if it has to be active everytime, or only when it's day or only when it's night. For example, you can set up a Roller Shutter which is active only if it's day!

This Bundle can be used as much as you want, just by adding it again and creating a new Global Variable for each new bundle set.



  • Roller Shutters (FGR22, FGR223...)
  • Dimmers (FGD211, FGD212...)
  • Switchs (FGS211, FGS212, FGS213...)
  • RGBW Devices (FGRGBW, RGBW Controller 1, RGB Controller 2)
  • RGBW Programs (Any Fibaro's programs)
  • Home Center Scenes
  • Any Light VD (Philips Hue, Ikea TRÅDFRI...)
  • Any VD clickable
  • Any Audio VD (Sonos, Yamaha Multicast or any else...)



Most of explainations are in the scripts.

Create a Global Variable which starts with REVEIL_ (what means alarm clock in French ?) and import the Virtual Device you want (12h or 24h).



-- Manageable Alarm Clock Scene Id
local SceneID = 193;
-- Which room will this VD Manage ? Must be the same than the Scene
local ROOM = "ROOM";

-- Days Off
local DaysOff = {"Saturday","Sunday"};

-- By defaut, this scene will be launched to have full light at the time set up in the VD : Actual Hour - Dawn Time
-- Change this var to anything else if you want to trigg the scene at the hour H.
local StartScene = "DEFAULT";

-- Icon's ids
local icon_ok = 1156
local icon_wait = 1158
local icon_off = 1160
  • SceneID : ID of the scene Advanced Alarm Clock
  • ROOM : Value corresponding to the Global Variable you created
  • DaysOff : List here all your days off within quotes marks, separated by commas. Take care of the uppercase at the beggining of the days names!
  • StartScene : Start the scene to have the full ignition at the time set in VD (DEFAULT), or start to begin the dawn's simulation at the time set in the VD (anything else)
  • icon_ok : ID of the icon which will be displayed when the scene is triggered and active
  • icon_wait : ID of the icon ID which will be displayed when an alarm is set and waiting to trigg the scene
  • icon_off : ID of the icon which will be displayed when the alarm is disabled

Note: In this Virtual Device, you have to change 3 times the variable's value of ROOM, corresponding to the Global Variable you have created before : REVEIL_ROOM.



  • Press on : will display 12:00 (or 07:30am in the 12h version). This can be changed by anything else with the variable ClickHour in the corresponding button
  • Sound Volume is in percentage (Act on sliders)
  • Audio fade-in is in seconds
  • Light's Power is in percentage*
  • Dawn's duration is in minutes
  • Once button sets the alarm for the next avalaible scheduele, regardless of the day (DayOff or not). The alarm will automatically be disabled after the dawn's ignition
  • Week of job sets the alarm for everyday, without the days set in the variable table DaysOff. Scene will automatically be launch until it's manually deactivated
  • Recall will recall every parameters set before last VD deactivation
  • Alarm OFF will save every actual parameters and disable the alarm

* Rollers Shutters will open at the same time than others lights devices, but will not been affected by Light's Power parameter

I thought it was better to be able to choose the power of lights, without having a half opened roller shutter.



local ROOM = "ROOM"; -- Room code corresponding to the Global Var created
local StartVolume = 15; -- Which Speakers volume value the fadein will start at (percentage)
local CurveLight = "linear"; -- Which function will be used to fadein light keys
local CurveAudio = "linear"; -- Which function will be used to fadein speakers keys


  • ROOM The famous variable wich has to be the same in the Scene+VD
  • StartVolume could be useful if you don't want to start audio fadein from 1.
  • CurveLight & CurveAudio Curves that will be used to fade lights and audio. See the following image to have a better understanding

Note1: If you comment a Curve Variable, the curve will be randomly choosen

Note2: The curves are possible thanks to the great work that Robert Penners made in 2001.

POSSIBLE CURVES : Linear + Robert Penner's Easing Equations


-- Debug Vars
local debug = 1; -- 1 Enable / 0 Disable
local lang = "en"; -- Debug lang
local DisplayNamesorID = "ID"; -- Display DeviceName + RoomName (Names) or Type + ID (ID) on each Debug line
local DisplayNamesAtStartup = 1; -- Display Rooms & Names at scene startup (1) or not (0)
local DisplayRGBWValues = 1; -- Display RGBW Values increasement when fading in (1) instead of only multiplier (0)
local DayLightDelay = 60; -- After sunrise/sunset, it's still daylight for .. mn
local VolDiffMin = 5; -- Minimum difference between Start Volume and Volume set in VD (in case of Start Volume > Volume set)
local LimitDebugLines = 1; -- Limit number of Debug Lines to 4 max per device and to 20 max per roller shutter
-- Changing next var values may seriously impact the scene
local CheckAlarmMode = 1; -- Check if the alarm is set and not just memorized before starting sthis scene
local DisplayScenesNames = 0; -- Display Scenes Names in debug (1) or not (0)! Active this function may delay the script
local tempo = 1; -- Pause between two actions in LightsAction and SpeakersAction functions (s) - It' not recommended to change this value


  • debug
  • lang
  • DisplayNamesorID
  • DisplayNamesAtStartup
  • DisplayRGBWValues
  • DaylighDelay
  • VolDiffMin
  • LimitDebugLines
  • CheckAlarmMode If this var value is set on 0, this scene will be able to be launched manually with stored values, even though the VD displays None
  • DisplayScenesNames
  • tempo

Note: everything explained in the script!



  • Add a Roller Shutter (FGR)
    • Parameter "steps" is needed to set how many steps this roller shutter will do to open (to protect motors of 100 steps)
      • table.insert(LightsList, {typ="Shutter", id=279, steps=6});
  • Add a Dimmer (FGD)
    • table.insert(LightsList, {typ="Dimmer", id=10});
  • Add a RGBW device (FG-RGB) : To fade a choosen color with RGBW parameters (Set this color at full range, scene will fade this value from 0 to the value set in VD)
    • table.insert(LightsList, {typ="RGBW", id=20, r=150, g=100, b=0, w=255});
  • Add a RGBW Program : To set a RGBW program, just use "program" parameter
    • Add "start" parameter to manage when this program will be started during the light fadein (in percentage)
    • If no "start" parameter is set, program will be started at the beginning of the scene
      • table.insert(LightsList, {typ="Program", id=20, program=3, start=50});
  • Add a switch (FGS)
    • Add "start" parameter to manage when this turnon action will be done during the light fadein (in percentage)
    • If no "start" parameter is set, action will be done at the beginning of the scene
      • table.insert(LightsList, {typ="Switch", id=49,start=100});
  • To add a VD
    • If it's a light VD : Parameter "slider" needed to manage brightness
      • table.insert(LightsList, {typ="VD", id=298, slider=10});
    • "btn" paramater can be added to set a color preset before the fadein (Be sure that the VD brightness for this button is set et 1%)
      • table.insert(LightsList, {typ="VD", id=298, slider=10, btn=6});
    • If it's not a light VD (with brightness slider) : Just indicate "btn" parameter
      • table.insert(LightsList, {typ="VD", id=298, btn=6});
    • Add "start" parameter if you want to manage when this button will be pressed during the dawn fade in (in percentage)
      • table.insert(LightsList, {typ="VD", id=298, btn=6, start=50});
  • Scene : To start a scene
    • Add "start" parameter to manage when the action will be done during the light fadein (in percentage)
    • If no "start" parameter is set, action will be done at the beginning of the scene
      • table.insert(LightsList, {typ="Scene", id=254, start=50});
  • To add Speakers VD : One action per key
    • Example for an action on the slider 15 of the VD 245
      • table.insert(SpeakerAction, {id=245, slider=15});
    • Example for an action on the button 6 of the VD 245
      • table.insert(SpeakerAction, {id=245, btn=6});


Note: This is an extract of the scene. So you will find it in the scene to help you if needed

One line = One device

  • LightsList
    • typ = Shutter
      • id Roller Shutter ID
      • steps Number of steps which will be done by the roller shutter (to preserve shutter's motor). 2 mini / 20 maxi
    • typ = Dimmer
      • id Device ID
    • typ = VD
      • id VD ID
      • slider Slider number to manage light power
      • btn*  Button to push
      • start* When the button have to be pushed during dawn"s ignition (if not set, the button will be pressed just before acting on slider)
    • typ = RGBW
      • id Device ID
      • r  Red Value(0-255)
      • g Green Value (0-255)
      • Blue Value (0-255)
      • w White Value (0-255)

 Note: Please write the parameters for a full power. The scene will calculate the values needed from them

    • typ = Scene
      • id Device ID
      • start* At which percentage of the dawn's ignition this scene will be started. 1 will be use by default if nothing is set.
    • typ = Switch
      • id Device ID
      • start* At which percentage of the dawn's ignition this switch will be turned on. 1 will be use by default if nothing is set.
    • typ = Program
      • id Device ID
      • program ID of the program to launch
      • start* At which percentage of the dawn's ignition this program will be started. 1 will be use by default if nothing is set.
  • SpeakerAction
    • id VD ID
    • 2nd parameter = Button Type (One or the other) with this button number
      • slider Number of the volume's slider
      • btn Number of the button to push

                        Note: This actions will be done in the order you declare them in the script

Note: items with * are not mandatory



This parameter is not mandatory. If not set, all your keys will be used to fade the dawn. You can mix modes and no modes keys!

For each light key, if you want to see it lighting only when it's day, just add mode="day", or mode="night" if you want to see a key lighting only if it's night.

To use a key everytime : no mode or mode="both".



  • At the beginning of the scene
  • In the "Once" Button of the VD
  • In the "Week of Work" Button of the VD
  • In the "Alarm OFF" Button of the VD
  • At the beginning of the Main Loop of the VD

Note: Please take care of this changement of value. If the value is not the same everywhere, the scene could not be launched!






In case on any issue, please try again with defaults debug's values and post all your DEBUG lines to help me to understand what happens in your configuration.



  • Advanced Alarm Clock Scene v3.6 Multilingual
  • Advanced Alarm Clock Trigger 12h v2.2 for people that have 12-hour clocks (am-pm)
  • Advanced Alarm Clock Trigger 24h v2.2
  • 3 Icons for the VD
  • 1 icon for the Scene
  • info.txt file



All Debugs texts are available in english and french. They could be easily translated in any other language without any LUA knowledge, by creating a new language condition and translating every DebugMsg vars.

Don't hesitate to contact me with the support thread if you want to translate them in another language. Only 37 sentences in the scene v.3.6! Your translations could be added in this official bundle.



What's New in Version 3.6.2   See changelog


- Fixation of some translation errors

  • Thanks 1

Other Files from J3R3M

User Feedback

Recommended Comments



I didn't understand how I need manage the variable REVEIL_

Do I create a variable called REVEIL_ROOM? Which value I can assign for this variable? the dafault value is 0

For example, in the scene/Virtual device, the comman line will be 


local ROOM = "Camera";


if the room where I will install the alarm clock is in Camera? Camera is Bedroom in italian...


Thanks in advance for your support


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...