Page 1 sur 1

Probleme avec plusieurs conditions OR AND

Publié : 22 janv. 2019, 19:39
par Nicoweb56
Bonjour à tous


Dans le code qui va suivre seul le détecteur bureau active la variable intrusion détecteur avec bien sur la variable Alarme_activée à 1
je pense qu'il y a un problème dans mon jeu de parenthèses d'une manière générale comment fait-on par exemple

if A and (B or C) then


if (A and B) or (C and D) then


merci d'avance ;)

Code : Tout sélectionner

-- Alarme active et Intrusion par détecteur volumétrique
if (uservariables['Alarme_activée'] == 1) and 
    ((devicechangedvicechanged['Détecteur Mezzanine'] == 'On') or
    (devicechanged['Détecteur bureau'] == 'On') or 
    (devicechanged['Détecteur entree'] == 'On') or
    (devicechanged['Détecteur garage'] == 'On') or
    (devicechanged['Détecteur dépendance 1'] == 'On') or
    (devicechanged['Détecteur dépendance 2'] == 'On')) then
    commandArray['Variable:Intrusion_détecteur']= '1'
end


Re: Probleme avec plusieurs conditions OR AND

Publié : 22 janv. 2019, 20:52
par thier
par exemple

Code : Tout sélectionner

-- Alarme active et Intrusion par détecteur volumétrique
if (uservariables['Alarme_activée'] == 1 and (devicechangedvicechanged['Détecteur Mezzanine'] == 'On' or devicechanged['Détecteur bureau'] == 'On' or devicechanged['Détecteur entree'] == 'On' or devicechanged['Détecteur garage'] == 'On' or devicechanged['Détecteur dépendance 1'] == 'On' or devicechanged['Détecteur dépendance 2'] == 'On')) then
commandArray['Variable:Intrusion_détecteur']= '1'
end

Re: Probleme avec plusieurs conditions OR AND

Publié : 22 janv. 2019, 21:23
par Nicoweb56
thier a écrit : 22 janv. 2019, 20:52 par exemple

Code : Tout sélectionner

-- Alarme active et Intrusion par détecteur volumétrique
if (uservariables['Alarme_activée'] == 1 and (devicechangedvicechanged['Détecteur Mezzanine'] == 'On' or devicechanged['Détecteur bureau'] == 'On' or devicechanged['Détecteur entree'] == 'On' or devicechanged['Détecteur garage'] == 'On' or devicechanged['Détecteur dépendance 1'] == 'On' or devicechanged['Détecteur dépendance 2'] == 'On')) then
commandArray['Variable:Intrusion_détecteur']= '1'
end
merci c'est super ca fonctionne a bientot

Re: Probleme avec plusieurs conditions OR AND

Publié : 22 janv. 2019, 23:01
par vil1driver
Salut,

Étonnant que cela fonctionne car une variable utilisateur est toujours une chaîne donc le teste devrait être == "1"

En l'état je me serais attendu à te voir annoncer une erreur du style
"Error attemp to compare string with number"