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

Règles multi etat
http://forum.eedomus.fr/viewtopic.php?f=14&t=7234
Page 1 sur 1
Auteur:  gabvoir [ 13 Juil 2018 21:28 ]
Sujet du message:  Règles multi etat

Bonjour,

Je viens chercher de l'aide concernant la rédaction d'une règle.
J'ai trois 3 périphériques qui combiné ensemble doivent exécuter une action.
Les 2 premiers sont des états, le 3° est un périphérique de type HTTP.
J'ai franchement du mal a appliquer l'exemple de l'aide.

Volets.JPG
Volets.JPG (27.09 Kio) Consulté 3731 fois

Le problème est que si je met que des "est" la règle va constamment s’exécuter.
J'avais penser faire un combo de et/ou afin de mixer correctement les "est", et "devient maintenant".

Je ne sais pas si j'ai été très clair, mais pourriez vous m'aider ?
Auteur:  blues [ 13 Juil 2018 23:35 ]
Sujet du message:  Re: Règles multi etat

Pour les états je ne mettrais que "est égal à".
Qu'est-ce qui ne fonctionne pas sinon ? Si la phase volet passe à soir avant la position du soleil de référence ?
Il faut peut être faire une règle par déclencheur avec une condition supplémentaire pour éviter de déclencher plusieurs fois l'action (État "déjà fait" à remettre à zéro tous les jours).
Auteur:  gabvoir [ 15 Juil 2018 20:43 ]
Sujet du message:  Re: Règles multi etat

Ok j'ai passé sur "égal à".
Volets.JPG
Volets.JPG (27.65 Kio) Consulté 3692 fois


La situation qui ne semble être pas prise dans ces conditions, c'est presque ce que tu décris :
Etat N
Mode volet = Manuel
Phase volet = soir
Elevation < 6
Etat N+1
Mode volet = Automatique
Phase volet = soir
Elevation < 6

Cela est évidemment du au devient maintenant inférieur de l'élévation.
Pour ta solution de créer un état supplémentaire, je souhaiterai éviter d'en venir là.
A ce moment je pense que je ferai plutôt un
(Mode est égal
ET Phase est égal
ET Elevation devient inférieur)
OU (Mode est maintenant
ET Phase est égal
ET Elevation est inférieur)
OU (Mode est égal
ET Phase devient maintenant
ET Elevation est inférieur)
En mettant les ET/OU ainsi, cela va t'il bien prendre compte des parenthèses telle que je les aient placées.

Merci pour ta collaboration :)
Auteur:  jbourdin [ 15 Juil 2018 21:34 ]
Sujet du message:  Re: Règles multi etat

Si tu fais Est + Est + Devient maintenant, ça ne marchera qui si 1 et 2 sont déjà vrai quand 3 arrive. Donc si ce n'est pas le cas quand 3 arrive, c'est raté jusqu'au lendemain.

La solution, c'est 3 est pour le déclenchement sauf que tu ne veux pas que ça se déclenche à répétition.
Selon ce que tu veux obtenir (fermer les volets), tu peux ajouter un "volet n'est pas égale à fermé" mais si tu ouvres après la règle, ça va se redéclencher.
Autre solution plus simple, sachant que ta règle "phase volet = soir" dure quelques heures, tu interdis le redéclenchement pendant 12h et comme ça tu n'as pas de souci avec juste les 3 est.
Auteur:  gabvoir [ 15 Juil 2018 21:53 ]
Sujet du message:  Re: Règles multi etat

jbourdin a écrit:Si tu fais Est + Est + Devient maintenant, ça ne marchera qui si 1 et 2 sont déjà vrai quand 3 arrive. Donc si ce n'est pas le cas quand 3 arrive, c'est raté jusqu'au lendemain.

En effet c'est exactement ca.
Est ce que ma solution de et/ou ne serait pas envisageable ?
(Mode est égal
ET Phase est égal
ET Elevation devient inférieur)
OU (Mode est maintenant
ET Phase est égal
ET Elevation est inférieur)
OU (Mode est égal
ET Phase devient maintenant
ET Elevation est inférieur)

jbourdin a écrit:Selon ce que tu veux obtenir (fermer les volets), tu peux ajouter un "volet n'est pas égale à fermé" mais si tu ouvres après la règle, ça va se redéclencher.
Autre solution plus simple, sachant que ta règle "phase volet = soir" dure quelques heures, tu interdis le redéclenchement pendant 12h et comme ça tu n'as pas de souci avec juste les 3 est.

Malheureusement c'est Mode qui peut changer sans que Phase ou Elevation change.
Auteur:  blues [ 15 Juil 2018 22:37 ]
Sujet du message:  Re: Règles multi etat

Sans créer un état supplémentaire il faut passer par plusieurs règles en changeant à chaque fois le critère "devient".

Concernant les critères mélangeant ET et OR, ce n'est pas possible car trop complexe à cause des parenthèses implicites. Voir la doc.
Auteur:  jbourdin [ 16 Juil 2018 09:42 ]
Sujet du message:  Re: Règles multi etat

gabvoir a écrit:(Mode est égal
ET Phase est égal
ET Elevation devient inférieur)
OU (Mode est maintenant
ET Phase est égal
ET Elevation est inférieur)
OU (Mode est égal
ET Phase devient maintenant
ET Elevation est inférieur)

Tu ne peux pas faire des blocs de (1 ET 2 ET 3) ou (4 ET 5) OU (x ET y) avec le système existant. Et je te déconseille d'essayer.
Soit tu fait un règle par bloc, soit tu cherches des alternatives.

gabvoir a écrit:Malheureusement c'est Mode qui peut changer sans que Phase ou Elevation change.

Je vois pas où est le souci. Sauf si tu envisages de repasser en manuel à un moment de la soirée puis de revenir en automatique plus tard dans la soirée (auquel cas, reviens à mon autre suggestion en ajoutant "et volet n'est pas fermé" dans les conditions de déclenchement, pour ouvrir le soir, tu repasses en mode manuel).
Auteur:  blues [ 16 Juil 2018 10:58 ]
Sujet du message:  Re: Règles multi etat

Jbourdin est sur la bonne voie.

Sinon si tu veux un truc complexe tu fais 3 règles déclenchées sur changement de valeur de chacun de tes critères puis tu passes par un script qui vérifie ce qui dois être fait (check des autres valeurs, conditions complexes, mise en cache ancienne valeur, remise à zéro de flags,...). On peut tout imaginer.
Auteur:  timetre [ 16 Juil 2018 13:54 ]
Sujet du message:  Re: Règles multi etat

C'est ce que je fais chez moi pour gérer mes volets ... J'ai toute une flopée de règles :(

Si seulement on pouvait avoir une petite machine à état ... ça serait plus simple à gérer ... sinon, dès que tu veux changer un des paramètres, faut pas oublier de la changer dans toutes les règles concernées ...

Bon courage quand même et sois rigoureux ;)
Auteur:  gabvoir [ 16 Juil 2018 16:41 ]
Sujet du message:  Re: Règles multi etat

Je vais effectivement prendre l'option de la triple règle.
Ici le problème serait résolu si on pouvait positionner les parenthèses où on le souhaite.

Merci à tous pour vos retours tout autant constructif.
Page 1 sur 1 Le fuseau horaire est UTC+1 heure