Page 1 sur 2

>= et <= dans script lua

Publié : 11 mars 2019, 12:55
par vr6man
Bonjour,

Je débute dans le lua

J'essaie d’implémenter cela dans un script de gestion d'un store banne

if (otherdevices['UV']>='4' and otherdevices['Pluie']=='0' and otherdevices['Proba Pluie 1h']<='10') then

J'ai une erreur dans les logs:

Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_store-terrasse.lua: ...pi/domoticz/scripts/lua/script_device_store-terrasse.lua:6: unexpected symbol near 'then'

J'ai trouver que l'erreur viens des signes >= et <=

J'ai essayé plusieurs syntaxe mais rien y fait

par contre si je met == plus erreur

Pourriez vous me dire quel est la syntaxe exacte pour >= et pour <= ?

Merci

Re: >= et <= dans script lua

Publié : 11 mars 2019, 14:27
par KingOfIce
Hello, la syntaxe lua pour >= et <= est bien celle que tu as utilisé. Par contre, tu l'utilises avec des chaines de caractères ce qui pose peut-être problème...

Re: >= et <= dans script lua

Publié : 11 mars 2019, 14:30
par vr6man
ok pour les chaines de caractère chez moi ce sont des virtual device du coup quel serait la syntaxe ?

Re: >= et <= dans script lua

Publié : 11 mars 2019, 14:36
par vr6man
c'est bien la ligne 6

voici le script:

Code : Tout sélectionner

ommandArray={}

if otherdevices['Absence']=='Off' then

-- Ouverture Store Terrasse
if (otherdevices['UV']>='4' and otherdevices['Pluie']=='0' and otherdevices['Proba Pluie 1h']<='10' and otherdevices['Vent']<='8.0') then
    if otherdevices['Store Terrasse']=='Off' then
        commandArray['Store Terrasse']='On'
        print('Ouverture Store Terrasse')
        commandArray['SendNotification']='Store Terrasse#Ouverture Store Terrasse'
    	end
	else	
-- Fermeture du Store Terrasse
    	if otherdevices['Store Terrasse']=='On' then
        commandArray['Store Terrasse']='Off'
        print('Fermeture Store Terrasse')
        commandArray['SendNotification']='Store Terrasse#Fermeture Store Terrasse'
    	end
	end 
end
return commandArray

Re: >= et <= dans script lua

Publié : 11 mars 2019, 14:41
par vil1driver
et avec des espaces ?

Code : Tout sélectionner

if (otherdevices['UV'] >= '4' and otherdevices['Pluie'] == '0' and otherdevices['Proba Pluie 1h'] <= '10' and otherdevices['Vent'] <= '8.0') then

Re: >= et <= dans script lua

Publié : 11 mars 2019, 14:44
par vr6man
testé a l'instant et ca fait pareil

Re: >= et <= dans script lua

Publié : 11 mars 2019, 14:53
par vil1driver
fichier ou base de donnée ? même défaut dans les 2 cas ?

Re: >= et <= dans script lua

Publié : 11 mars 2019, 14:54
par vr6man
Meme défaut dans les 2 cas

Je vais essayer de refaire le script entièrement pour voir

Re: >= et <= dans script lua

Publié : 11 mars 2019, 15:59
par lmet
Bonjour,
Si tu utilisais l'éditeur intégré à Domoticz tu aurais directement accès au correcteur syntaxique.
img_002.jpg
img_002.jpg (44.84 Kio) Consulté 4446 fois
En mettant :
Proba_Puie_1h
L'erreur disparait. Même s'il ne s'agit peut-être pas de la seule erreur.

Re: >= et <= dans script lua

Publié : 11 mars 2019, 16:07
par vil1driver
Lmet, ton erreur vien de la création d'une variable comportant des espaces, c'est interdit.
Dans son cas c'est le nom d'un device, une chaîne. C'est autorisé