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:

Code : Tout sélectionner

	else
		commandArray['Lumière Garage']='Off AFTER 5'
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 :P

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.