Page 1 sur 1
help - éclairrage exterieur temporisé
Publié : 08 nov. 2017, 18:59
par xeone
bonjour,
voila j'ai un petit soucis avec mon premier script lua:
j'ai un détecteur de mouvement Fibaro et un module relais qui allumé a lumière extérieur.
je voudrais que lorsque qu'il y a un mouvement détecté et que la luminosité est en dessous de 50 lux la lumière s'allume pendant 5 minutes.
voila mon ébauche de script mais ça ne fonction pas !!
Si quelqu'un peut m'aider je lui serait reconnaissant.
Code : Tout sélectionner
commandArray = {}
if (devicechanged['Motion Sensor Garage']) then
valeur_lux_garage = (otherdevices_svalues['Niveau lux garage'])
valeur_lux_garage = tonumber(valeur_lux_garage)
if (otherdevices['Motion Sensor Garage'] == 'On' and valeur_lux_garage < 50) then
print("Présence détecté Garage !!")
print("Lumière Garage allumée !!")
commandArray['Lumière Garage']='On FOR 5'
else
commandArray['Lumière Garage']='Off AFTER 5'
end
end
return commandArray
Re: help - éclairrage exterieur temporisé
Publié : 09 nov. 2017, 18:17
par landaisbenj
Bonjour.
[Met ton code entre les balises fournient par le bbcode s'il te plait.]
Peut etre que ta valeur_lux_garage est mal prise en compte?
Essai d'inclure plus de print:
Code : Tout sélectionner
if (devicechanged['Motion Sensor Garage']) then
print(otherdevices_svalues['Niveau lux garage'])
valeur_lux_garage = (otherdevices_svalues['Niveau lux garage'])
valeur_lux_garage = tonumber(valeur_lux_garage)
print(valeur_lux_garage)
if (otherdevices['Motion Sensor Garage'] == 'On' and valeur_lux_garage < 50) then
print("Présence détecté Garage !!")
print("Lumière Garage allumée !!")
commandArray['Lumière Garage']='On FOR 5'
else
print('Raté')
commandArray['Lumière Garage']='Off AFTER 5'
end
end
Sinon simplifie.
Ca:
Ca ne sert a rien ???
Si ta lumière est déjà allumée, le "On FOR 5" suffira à la faire s’éteindre après 5min...
En gros tu dis:
'si je détecte un mouvement j'allume les lumières pour 5 minutes, sinon je les éteins après 5 minutes"
Pourquoi les éteindre si tu n'as pas détecté de mouvement ? D'ailleurs pourquoi elle serait allumées lol
Aussi tu dis: "si mon motion change" et apres "si mon motion est a on"... Je ne pense pas qu'il y ait un intérêt.
Tu devrais essayer ça (sous réserve que j'ai raison vu que je n'y connais rien en LUA):
Code : Tout sélectionner
if devicechanged['Motion Sensor Garage']=='On' and tonumber(otherdevices_svalues['Niveau lux garage']) < 50 then
print("Présence détectée - Lumière Garage allumée!!")
commandArray['Lumière Garage']='On FOR 5'
end
Re: help - éclairrage exterieur temporisé
Publié : 09 nov. 2017, 18:51
par landaisbenj
En supplément, je rajouterai pour tous ceux qui passe, le premier script LUA devrais être ça:
Code : Tout sélectionner
if devicechanged['Bouton de test']=='On' then
print('Test reussi')
end
Lol
Partir de cette base c'est casiment tout reussir.
Apres tu rajoute ta detection de lux par exemple:
Code : Tout sélectionner
if devicechanged['Bouton de test']=='On' and tonumber(otherdevices_svalues['Niveau lux garage']) < 50 then
print('Test reussi')
end
Et après tu rajouteras l'allumage de la lampe... Etc.
Faire par palier ça permet de valider chaque chose. Avec le script au dessus tu peux faire des essais facilement en variant le 50. Apres t'as plus qu'a remplacer: "devicechanged['Bouton de test']=='On'" par "devicechanged['Motion garage']=='On'"
Re: help - éclairrage exterieur temporisé
Publié : 12 nov. 2017, 13:00
par xeone
merci pour les conseil je vais reprendre depuis le début.
Re: help - éclairrage exterieur temporisé
Publié : 12 nov. 2017, 17:57
par vil1driver
salut,
landaisbenj a écrit :(...) j'allume les lumières pour 5 minutes, sinon je les éteins après 5 minutes (...)
AFTER est en seconde

Re: help - éclairrage exterieur temporisé
Publié : 12 nov. 2017, 18:18
par landaisbenj
Lol t’es un sniper. C’était surtout pour l’explication à vrai dire mais c’est bien de le rappeler.
Xeone donne nous des nouvelles si tu agrémente tes script.
Re: help - éclairrage exterieur temporisé
Publié : 15 nov. 2017, 19:24
par xeone
je reviens aux nouvelles en faisant comme ça les lumière s'allume bien par contre ça ne s’éteint pas !!
Code : Tout sélectionner
commandArray = {}
if devicechanged['Motion Sensor Entrée']=='On' and tonumber(otherdevices_svalues['Niveau lux entrée']) < 50 then
print('Présence détectée à l\'entrée - Lumière entrée et garage allumée !!')
commandArray['Lumière Entrée']='On FOR 3'
print('Lumière Entrée allumée')
commandArray['Lumière Garage']='On FOR 5'
print('Lumière Garage allumée')
end
return commandArray
Re: help - éclairrage exterieur temporisé
Publié : 15 nov. 2017, 19:39
par vil1driver
C'est le problème de FOR..
Ça revient à l'état précédent et non à l'état opposé..
(de même anciens derniers essais mais tu sembles confirmer que ça n'a pas changé)
Perso je règle la tempo dans ce cas directement dans les options du switch.
Le script servant juste à faire On..
Pour faire de la pub pour une fonction sympa,
SwitchOnFor() n'à pas ce soucis

Re: help - éclairrage exterieur temporisé
Publié : 15 nov. 2017, 20:38
par landaisbenj
Dans ce cas la solution serait d’allumer et de faire un off after a la suite.
Re: help - éclairrage exterieur temporisé
Publié : 16 nov. 2017, 07:27
par xeone
SwitchOnFor() !! Je ne connais pas cette fonction !!
Sinon je vais jouer sur le temps d'extinction des capteurs de mouvements.
Merci beaucoup pour votre aide.