Page 1 sur 1

(lua) script pour action seulement la semaine

Publié : 15 avr. 2018, 18:12
par Rhum1x56
Salut,
j'ai un petit problème avec un script, j'aimerais que le volet s'ouvre que la semaine, du coup je test ma variable pour savoir si elle est différente a samedi ou dimanche.
le problème c'est que ca marche pas, ca s'ouvre tout les jours. j'ai tester day ~= Sunday / day == Sunday
j'ai tester aussi avec les jours de la semaine. j'ai changer "and" par "or". rien ne fonctionne.
si vous avez une petite idée de ou ca peut venir.

Code : Tout sélectionner

time=os.time()
local day=os.date('%A',time)

if (tonumber(nowInMinutes) == tonumber(heureLeverChambre)) then
	print('lever 10h chambre ok')				
	if (day ~= Saturday or  day ~= Sunday) then
	print('lever soleil chambre + dif samedi dimanche ok')
		if (tonumber(tempExt) >= tonumber(tempMin)) then
		print('lever soleil chambre + dif samedi dimanche + temp ok')
			if (otherdevices[chambreParentalVolet] ~= 'Off') then	
			
				print('Ouverture volet chambre parental il est 10h')
				commandArray[chambreParentalVolet]='Off'
				
			end
			
		end	
		
	end
	
end

Re: (lua) script pour action seulement la semaine

Publié : 15 avr. 2018, 21:52
par thier
Met en première ligne print('jour '..day) et regarde dans les log si tu as Sunday

Re: (lua) script pour action seulement la semaine

Publié : 16 avr. 2018, 11:31
par Rhum1x56
salut en faisant print('jour '..day) j'ai bien le jours qui s'affiche.

Re: (lua) script pour action seulement la semaine

Publié : 16 avr. 2018, 11:48
par thier
sans vraiment savoir je dirais que différent de "~=" fonctionne pour des comparaison avec des valeurs logiques true, nil, false, etc... Tu peux contourner le problème avec if (day == Monday or day == Tuesday or day == Wednesday or day == thursday or day == friday ) then

Re: (lua) script pour action seulement la semaine

Publié : 16 avr. 2018, 12:36
par landaisbenj
[edit] erreure de modification :?

Re: (lua) script pour action seulement la semaine

Publié : 28 avr. 2018, 10:08
par Rhum1x56
salut, j'ai deja compare la chaine dans la variable day par la chaine du jour qui s'affiche quand je fais un print du day.
un samedi ca affiche Saturday donc j'ai testé day~=Saturday et day==Saturday ca fonctionne mais pas correctement.
la sa me retour ok1, ok3 alors que je devrais avoir ok2,ok3

Code : Tout sélectionner

print('jour '..day) 

if (day ~= Saturday) then
print('test ok1')
end

if (day == Saturday) then
print('test ok2')
end

if (day ~= Sunday) then
print('test ok3')
end

if (day == Sunday) then
print('test ok4')
end

Resolue, en faite erreur de debutant, je me suis melanger les pinceaux mes variable et j'ai oublier les guillemets
if (day ~= Saturday or day ~= Sunday) then
correction
if (day ~= 'Saturday' or day ~= 'Sunday') then

Re: (lua) script pour action seulement la semaine

Publié : 28 avr. 2018, 10:43
par landaisbenj
Voila c'est ce que je voulais dire avec ca::
landaisbenj a écrit : Non ca fonctionne normalement mais il compare une chaîne avec une variable je pense... Et il ne te retourne pas d'erreur car la variable saturday ou sunday est nul (car elle n'existe pas, non créé et/ou vide); elle est donc forcement différente de la variable day...

Je pense que vous comprennez la difference entre Saturday et 'Saturday' tout comme pour day ou 'day'.