[LUA] Simulateur d'aube
Publié : 27 juin 2016, 10:10
Salut,
J'en avais marre de me réveiller en sursaut avec une sonnerie pourrie..... Alors pourquoi pas se réveiller en douceur et en lumière...et pour pas cher!
J'ai utilisé le sensor RGB-3D (mysensors) de Vil1driver: viewtopic.php?f=20&t=704 et j'y ai greffé un script LUA:
Aux jours et heures programmés le ruban s'allume dans une dominante rouge, l'intensité augmente, puis il vire à l'orange, puis au jaune, pour finir dans une lumière blanche. La variation s'étale sur 20 minutes puis le ruban s'éteint.
Et si tout se passe bien, au moment où votre ruban s'éteint, vous avez programmé domoticz pour qu'il déclenche votre cafetière!
NB: j'ai utilisé les dimmers de domoticz qui ne permettent de faire varier que par pas de 6%... Les changements de couleurs auraient pu être plus fluides si les pas des dimmers étaient moins grands.... Peut être que ça viendra un jour.
J'en avais marre de me réveiller en sursaut avec une sonnerie pourrie..... Alors pourquoi pas se réveiller en douceur et en lumière...et pour pas cher!
J'ai utilisé le sensor RGB-3D (mysensors) de Vil1driver: viewtopic.php?f=20&t=704 et j'y ai greffé un script LUA:
Code : Tout sélectionner
-- script_time_Simulateur_Aube.lua
-- Ce script permet de crée un simulateur d'aube (réveil) a partir d'un ruban rgb et du sketch mysensors RGB-3D de Vil1driver
-- créer une variable utilisateur nommée duree_simulateur_aube réglée ici sur 21 minutes. elle est de type "entier"
--créer une variable utilisateur nommée start_time réglée sur la valeur 0 pour débuter (elle se met a jour toute seule ensuite. Elle est de type entier
-- créer un dummy de type interrupteur on/off nommé Simulateur aube
-- metre en accord le nom des switches de chaque couleur de votre ruban led: ici mes trois switches s'appellent Red, Green et Blue
-- planifiez le switch nommé Simulateur d'aube aux jours et heure de levé
-- Au déclenchement du simulateur d'aube, la couleur est une dominante rouge et au fur et a mesure du temps, elle vire au orange puis au jaune pour finir au blanc. Au bout de 20 minutes, le ruban s'éteind
commandArray = {}
t1 = tostring(os.time())
if(otherdevices['Simulateur aube'] == 'Off' ) then
commandArray['Variable:start_time'] = t1
end
if(otherdevices['Simulateur aube'] == 'On') then
-- Durée de la simulation
duree_simulateur_aube = uservariables['duree_simulateur_aube']
t2 = uservariables['start_time']
diff = (os.difftime (t1, t2))
duree_simulateur_aube = duree_simulateur_aube * 60
if(diff > duree_simulateur_aube) then
commandArray['Simulateur aube'] = 'Off'
end
--Dominante rouge
if(diff < 240) then
commandArray['Red']='Set Level 10'
end
if(diff > 180 and diff <240) then
commandArray['Red']='Set Level 15'
end
if(diff > 240 and diff <300) then
commandArray['Red']='Set Level 20'
end
if(diff > 300 and diff <360) then
commandArray['Red']='Set Level 30'
end
if(diff > 360 and diff <420) then
commandArray['Red']='Set Level 35'
end
if(diff > 420 and diff <480) then
commandArray['Red']='Set Level 40'
end
if(diff > 480 and diff <540) then
commandArray['Red']='Set Level 50'
end
--Dominante orange
if(diff > 540 and diff <600) then
commandArray['Red']='Set Level 100'
commandArray['Green']='Set Level 10'
end
if(diff > 600 and diff <660) then
commandArray['Red']='Set Level 90'
commandArray['Green']='Set Level 10'
end
if(diff > 660 and diff <720) then
commandArray['Red']='Set Level 80'
commandArray['Green']='Set Level 10'
end
if(diff > 720 and diff <780) then
commandArray['Red']='Set Level 75'
commandArray['Green']='Set Level 10'
end
--Dominante jaune
if(diff > 780 and diff <900) then
commandArray['Red']='Set Level 100'
commandArray['Green']='Set Level 15'
end
if(diff > 900 and diff <1020) then
commandArray['Red']='Set Level 100'
commandArray['Green']='Set Level 20'
end
--Dominante blanche
if(diff > 1020 and diff <1140) then
commandArray['Red']='Set Level 100'
commandArray['Green']='Set Level 30'
commandArray['Blue']='Set Level 10'
end
--extinction du ruban après 20min
if(diff > 1200) then
commandArray['Red']='Off'
commandArray['Green']='Off'
commandArray['Blue']='Off'
end
end
Et si tout se passe bien, au moment où votre ruban s'éteint, vous avez programmé domoticz pour qu'il déclenche votre cafetière!
NB: j'ai utilisé les dimmers de domoticz qui ne permettent de faire varier que par pas de 6%... Les changements de couleurs auraient pu être plus fluides si les pas des dimmers étaient moins grands.... Peut être que ça viendra un jour.