Probleme avec plusieurs conditions OR AND

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 <\>.
Nicoweb56
Messages : 42
Inscription : 14 janv. 2019, 19:57

Probleme avec plusieurs conditions OR AND

Message 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

thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: Probleme avec plusieurs conditions OR AND

Message 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
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Nicoweb56
Messages : 42
Inscription : 14 janv. 2019, 19:57

Re: Probleme avec plusieurs conditions OR AND

Message 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
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Probleme avec plusieurs conditions OR AND

Message 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"
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre