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

règle qui ne fonctionne pas
http://forum.eedomus.fr/viewtopic.php?f=18&t=11861
Page 1 sur 1
Auteur:  woodrunner [ 19 Avr 2023 06:17 ]
Sujet du message:  règle qui ne fonctionne pas

Bonjour ,
pouvez vous me donner un coup de main ... je ne comprends pas pourquoi cett règle ne s"éxecute pas .
merci d'avance

Pièces jointes:
edo.png
edo.png (44.4 Kio) Consulté 6706 fois
Auteur:  opa95 [ 19 Avr 2023 10:11 ]
Sujet du message:  Re: règle qui ne fonctionne pas

Bonjour woodrunner
woodrunner a écrit:Bonjour ,
pouvez vous me donner un coup de main ... je ne comprends pas pourquoi cett règle ne s"éxecute pas .
merci d'avance

Le mélange des "et" et des "ou" dans l'eedomus n'est pas toujours intuitif. Il y a eu de nombreuses discussions à ce sujet sur le forum, mais je ne m'y suis pas replongé depuis longtemps.
Pour simplifier cela, tu pourrais créer un état saison printemps-ete auquel tu associe les 2 premières règles et ensuite tu remplace ces 2 règles par printemps-ete est égal à "on" et gtu n'as plus que des "et". :)
Auteur:  Fab_Rice [ 19 Avr 2023 11:16 ]
Sujet du message:  Re: règle qui ne fonctionne pas

Bonjour,

Une question, dans l'historique de la règle il y a quoi en dernier ?
Car sauf erreur de ma part (ce qui est tout à fait concevable), je pense que la "saison météo" doit être bloquée sur "printemps" tel que construit.
Ensuite il semble y avoir une détection de macro pour le "en cours", si c'est le cas c'est assez hasardeux sur l'eedomus (par expérience).
Auteur:  Harzhal [ 19 Avr 2023 13:00 ]
Sujet du message:  Re: règle qui ne fonctionne pas

Bonjour,

Moi je pense d’abord qu’il ne faut pas faire deux fois le même sujet avec le même problème auquel nous avons déjà répondu ici : viewtopic.php?f=61&t=11854

Je redis donc à woodrunner que l’exécution des critères se fait dans l’ordre de saisie et qu’il faut donc mettre à la fin l’argument « devient maintenant ». L’autre jour, dans l’autre sujet, il me disait que après mes explications sa règle fonctionnait. Il faut donc commencer par mettre un critère puis si ça marche ajouter un deuxième et si ça marche un troisième etc. A condition bien sûr que ces critères soient valables ce que nous ne pouvons pas vérifier.

Pour info. En ce qui concerne le mélange de ET et OU, j’en ai un certain nombre qui fonctionne parfaitement, encore faut-il ne pas trop compliquer et suivre la logique chronologique de l’exécution.
Auteur:  woodrunner [ 19 Avr 2023 17:16 ]
Sujet du message:  Re: règle qui ne fonctionne pas

Bonjour ,
- pour le post antérieur , c'était pour une autre pièce ....
- ce que je n'arrive pas à comprendre c'est que j'ai d'autres règles avec plus de conditions qui fonctionnent ....
merci pour votre aide , je vais avancer à petit pas ... pour l'instant vue le temps on n'utilise pas encore la terrasse .... :o
Auteur:  opa95 [ 19 Avr 2023 18:47 ]
Sujet du message:  Re: règle qui ne fonctionne pas

Bonjour
Harzhal a écrit:Bonjour,

Je redis donc à woodrunner que l’exécution des critères se fait dans l’ordre de saisie et qu’il faut donc mettre à la fin l’argument « devient maintenant ». L’autre jour, dans l’autre sujet, il me disait que après mes explications sa règle fonctionnait. Il faut donc commencer par mettre un critère puis si ça marche ajouter un deuxième et si ça marche un troisième etc. A condition bien sûr que ces critères soient valables ce que nous ne pouvons pas vérifier.

Pour info. En ce qui concerne le mélange de ET et OU, j’en ai un certain nombre qui fonctionne parfaitement, encore faut-il ne pas trop compliquer et suivre la logique chronologique de l’exécution.

Je ne comprend pas trop ton histoire d'ordre.
Il est évident que les conditions sont testées dans l'ordre.
Dans l'exemple, c1ou c2 et c3 et c4 et c5 est interprété comme (c1 ou c2) et c3 et c4 et c5.
Dans un système optimisé, si c1 est vrai, c2 n'est pas testé, s'il n'est pas optimisé c1 et c2 sont testés quel que soit le résultat de c1 et la décision est valide dès que l'un des deux est valide.
Ensuite, les conditions c3, puis c4, puis c5 sont testées, si le système est optimisé les tests seront abandonnés dès qu'une condition sera fausse sinon tout sera testé.
de toute façon, si c3 et c4 sont vrais et c5 devient vrai le système sera validé
de même si on intervertissait c5 et c3, si c5 devient vrai et que c3 et c4 sont vrais le système sera validé aussi.
En fait, il faudrait vérifier que les conditions sont effectivement activées et pour cela effectivement les inclure une à une ou/et utiliser provisoirement des devices de type etat pour contrôler les conditions. :)
Auteur:  Harzhal [ 19 Avr 2023 21:41 ]
Sujet du message:  Re: règle qui ne fonctionne pas

Salut opa95, ce que je veux dire c’est que dans cette règle pour moi bancale c’est qu’il y a des états de périphériques matérialisés par « est » et un phénomène déclencheur qui n’arrive qu’à un instant T et qui est matérialisé par « devient maintenant ». Si on envoie le déclencheur avant d’avoir testé tous les états, ça ne peut pas coller.

On se rejoint sur le fait qu’il faut ajouter les états un par un pour voir celui qui empêche le déclenchement et bien sûr aussi comme on l’a dit on ne sait pas trop à quoi font allusion ces différents critères.

Il faudrait une explication claire sur le but exact de cette règle et la voir entièrement… :roll:
Auteur:  opa95 [ 20 Avr 2023 13:24 ]
Sujet du message:  Re: règle qui ne fonctionne pas

Bonjour
Quand je teste cela, ça fonctionne parfaitement : 40 tests sur les 2 dernières heures, sans erreur.

test.png
test.png (19.74 Kio) Consulté 6598 fois

Il faut vérifier, les valeurs des états testés. :)
Auteur:  thrymartin [ 23 Avr 2023 05:06 ]
Sujet du message:  Re: règle qui ne fonctionne pas

montre nous la règle entière.

quelle est la frequence de requete des périphériques qui sont associés à cette règle, comme leur mise à jour n'est pas concomitante, est ce que la règle peut s'appliquer à tout moment ? est ce que la règle s'applique immédiatement, est ce qu'elle peut se redéclencher, y a t il un critère horaire ?

opérateurs OU / ET : il faut les comprendre l'un après les autres, normalement, il n'ya pas d'erreur puisque tu commences par un OU, le résultat de ce OU est considéré comme étant une seule ligne, dans ton cas c'est comme si tu avais
* La saison météo est printemps ou été
* ET ... etc.
moi ça me semble bon

Le terme maintenant est à éviter, ne doit pas s'utiliser sur des critères "horaires" (voir doc Eedomus), et qui ne sert strictement à rien avec "devient" puisque "devient" est activé sur un changement de valeur ... au moment ou elle arrive, donc "maintenant" implicitement, ça pourrait provoquer un bug ce genre de redondance, mais comme je n'ai pas la routine sous les yeux...

est : valeur courante
devient : la valeur vient de changer : elle n'est plus la même que précédemment
est maintenant : la valeur vient d'avoir une nouvelle acquisition égale à celle recherchée et éventuellement égale à la précédente acquisition.

SI tu ne mets que des EST, alors la règle boucle, sauf si elle ne redéclenche pas : du coup, si au permier test, elle ne fonctionne pas, c'est mort, si tu ^permets le redéclenchement, t'as une boucle infinie, ça sature, éventuellement ça sature la pile et ça plante
si tu mets un devient ou un devient maintenant MAIS qu'à ce moment, tous les critères ne sont pas OK, alors au prochain test, même si tous les critères sont la, ça ne fonctionnera pas plus, parceque le "devient" c'était la foi d'avant !
je pense que tu dois mettre un EST MAINTENANT : que ce soit au passage jour nuit, et si tous les critères sont OK, l'action se réalise, OU ensuite, quand tous les critères sont réalisés, il faudra retester si on est bien la nuit, ce qui va arriver a la prochaine mise a jour de "soleil a haguenau meteo" : il faudra bien retester si on est toujours la nuit : c'est le role du "est maintenant"
Page 1 sur 1 Le fuseau horaire est UTC+1 heure