Problème de condition de script

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Problème de condition de script

Message 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.
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Problème de condition de script

Message 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.
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Problème de condition de script

Message par Wolfen38 »

Je m'auto réponds, en passant par tonumber(Tempext), ca fontionne.
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Problème de condition de script

Message par Neutrino »

Le problème vient effectivement de là.
'8' est une chaine de caractères
8 est un nombre
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Répondre