About This File
Advanced Alarm Clock
First release on the French board in March 2019.
INTRODUCTION
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.
THE SCENE IS ABLE TO MANAGE
- 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...)
INSTALLATION
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).
VD CONFIG
-- 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.
VD USE
- 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.
SCENE
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
BASIC SETTINGS
- 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
DEBUGS SETTINGS
- 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!
ADDING YOUR DEVICES
-
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});
-
Parameter "steps" is needed to set how many steps this roller shutter will do to open (to protect motors of 100 steps)
-
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});
-
If it's a light VD : Parameter "slider" needed to manage brightness
-
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});
-
Example for an action on the slider 15 of the VD 245
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)
- b Blue Value (0-255)
- w White Value (0-255)
-
typ = Shutter
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
MODE PARAMETER
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".
WHERE CHANGE GLOBAL VARIABLE "ROOM" VALUE
- 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!
DEBUG EXAMPLE
SUPPORT
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.
CONTENT
- 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
TRANSLATION
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
Released
- Fixation of some translation errors