Forum eedomus
http://forum.eedomus.fr/

Moteur de règles buggé
http://forum.eedomus.fr/viewtopic.php?f=14&t=10214
Page 1 sur 1
Auteur:  flux [ 27 Nov 2020 11:44 ]
Sujet du message:  Moteur de règles buggé

Bonjour à tous,

Je fais face pour le 3ème hiver à un bug du moteur de règle.
Le support eedomus m'ayant seulement répondu qu'il y a effectivement un bug.
Mais que faire? J'implore votre aide :(

J'ai une règle qui coupe ma chaudière si toutes les cibles de température ont été atteintes OU qu'une fenêtre est ouverte. J'ai pour cela créé un état global de fenêtre qui est Ouvert si la moindre fenêtre est ouverte dans ma maison.

Mais la règle ne s'exécute pas malgré la dernière ligne :
Regleextinction.PNG
Regleextinction.PNG (52.9 Kio) Consulté 1998 fois


Voilà les déclenchements de l'état Fenêtre :
Déclenchementsfenetre.PNG
Déclenchementsfenetre.PNG (12.36 Kio) Consulté 1998 fois


Et ceux de la règle Extinction, totalement insensible :
DeclenchementsExtinction.PNG
DeclenchementsExtinction.PNG (6.93 Kio) Consulté 1998 fois


Je précise que sur tous les screenshots, l'avant dernière ligne renvoit bien vrai puisque le chauffage était en cours.

Merci pour votre aide....
Auteur:  merguez07 [ 27 Nov 2020 12:03 ]
Sujet du message:  Re: Moteur de règles buggé

Bonjour flux,

il n'y a pas de bug

tu as écris dans ta règle :
(temp radia1 cible ET temp radia2 cible ET.....) ET (temp ambiance salon ON OU Fenêtre ouv)

donc l'ouverture d'un fenêtre ne suffit pas, il faut aussi toutes les cibles atteintes

Ecrit l'équation booléenne sous forme littérale d'abord, après on verra comment la traduire en critère
Auteur:  flux [ 27 Nov 2020 13:26 ]
Sujet du message:  Re: Moteur de règles buggé

Merci @merguez07 pour cette réponse rapide.

Littéralement : (si tous mes radiateurs ont atteint la cible, que le thermostat ambiance est allumé,) OU que la fenêtre est ouverte --> la règle est déclenchée
Voici donc ce que je cherche à obtenir :
(((((temp radia1 cible) ET temp radia2 cible) ET..... )ET temp ambiance salon ON) OU Fenêtre ouv)


Ce que je ne comprends pas dans ta traduction, c'est que tu évalues en premier le OU.
Alors que si je comprends bien la documentation eedomus, cet enchainement de critère devrait être évalué de "gauche à droite"
Voici un exemple sur les ET/OU avec plusieurs critères.

Vrai1
ET Vrai2
OU Faux
Cela est équivalent, avec l'ordre des parenthèses à :

(((Vrai1) ET Vrai2) OU Faux) = Vrai OU Faux = Vrai, les critères sont donc vérifiés, la règle va se déclencher.


Où me trompe je? :oops:
Auteur:  merguez07 [ 27 Nov 2020 13:50 ]
Sujet du message:  Re: Moteur de règles buggé

tu ne te trompe pas mais , hélas les choses ne se passent pas comme prévus dans la doc.
Dans ma signature tu verras comment cela marche (tuto 3)

du coup, pour en revenir à ton problème tu ne peux pas faire une seule règle

il t'en faut une avec :
règle 1 : fenetre ouverte --> coupe chauffage
et une autre avec :
règle 2 : temp cible1 ET temp cible2 ET...ET ambiance salon ON --> coupe chauffage
Auteur:  flux [ 27 Nov 2020 14:03 ]
Sujet du message:  Re: Moteur de règles buggé

Je viens de lire ta documentation sur le "déclenchement des règles" :shock:
Qui du coup est bien en accord avec ta remarque mais pas avec ce qui est dit dans la documentation.

J'en conclus que le OU est prioritaire. Donc il ne pourra pas être interprété avec l'ensemble des critères. :?

Edit : je viens de voir ta réponse, merci.

Re-édit : ça fonctionne avec deux règles!! :) C'était la bonne idée, un grand merci (et merci pour cette documentation ainsi que tous les plug-ins que tu as mis à disposition de la communauté!)
Page 1 sur 1 Le fuseau horaire est UTC+1 heure