Page 1 sur 1

Problème de condition de script

Publié : 25 mars 2022, 13:51
par Wolfen38
Salut,

J'essai de faire un script tout bete, qui en fonction de la température et d'une variable utilisateur lance l'ouverture de mes volets.

Le voici :

Code : Tout sélectionner

commandArray = {}

time=os.time()
-- Récupère l'heure actuelle.
local heure = os.date('%H:%M')
local debug = true

if heure == '12:55' then
Tempext , hum , autre = otherdevices_svalues['Temperature exterieure']:match("([^;]+);([^;]+);([^;]+)")
Soleil = uservariables['Soleil']
print('essai volet')
print(Tempext)
print(Soleil)
if (Tempext >= '8' and Soleil == '1') then
     print('ok')
    commandArray['Volet salon']='Off'
	commandArray['Volet Anna']='Off'
	commandArray['Volet parent']='Off'
	commandArray['Volet Emerik']='Off'
	commandArray['Volet bureau']='Off'
	commandArray['Volet Alec']='Off'
	commandArray['Variable:Soleil']='0'
end
end

return commandArray
Mes print me donnent bien la valeur de température et la variable Soleil à 1, malgré ca, rien ne se passe.
J'ai essayé en mettant la variable en entier, décimale, chaine.... Il ne se passe rien.

Merci.

Re: Problème de condition de script

Publié : 25 mars 2022, 14:17
par Wolfen38
Apparemment, le problème vient de la condition Tempext >= '8'

Je ne comprends pas le problème, j'utilise cette condition dans un autre script et ca fonctionne.

Re: Problème de condition de script

Publié : 25 mars 2022, 14:24
par Wolfen38
Je m'auto réponds, en passant par tonumber(Tempext), ca fontionne.

Re: Problème de condition de script

Publié : 25 mars 2022, 19:14
par Neutrino
Le problème vient effectivement de là.
'8' est une chaine de caractères
8 est un nombre