Bug Exception en action immédiate

Hello.
J’ai décelé un comportement qui ne me semble pas cohérent avec la notion des exceptions.

Lorsqu’une exception est cochée en action immédiate, le plugin écoute la commande en rapport à la condition et dès que celle ci est valide, l’exception est traitée

Voici l’exemple d’une exception avec l’action immédiate cochée lorsque la condition devient vraie

[2022-07-25 10:45:26][DEBUG] : [Bureau][GVt Bureau test] Déclenchement de l'action immédiate : Array (     [sunshutter_id] => 1458     [event_id] => 17120     [value] => 1     [datetime] => 2022-07-25 10:45:26     [listener_id] => 2909 )    
[2022-07-25 10:45:26][DEBUG] : [Bureau][GVt Bureau test] Les actions immédiates sont prioritaires
[2022-07-25 10:45:26][DEBUG] : [Bureau][GVt Bureau test] Condition avec action immédiate : #17120# == 1 (50 %)
[2022-07-25 10:45:26][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la position cible : 49.49 %
[2022-07-25 10:45:26][DEBUG] : [Bureau][GVt Bureau test] Positionnement à 50 %

Voici les logs de la vérification suivante (5min après) alors que la condition (#[Extérieur][Pluie][Etat]# == 1) est toujours vraie

[2022-07-25 10:50:02][DEBUG] : [Bureau][GVt Bureau test] Démarrage de la gestion automatique
[2022-07-25 10:50:03][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la dernière position connue : 0 %
[2022-07-25 10:50:03][DEBUG] : [Bureau][GVt Bureau test] Calcul de positionnement - Conditions remplies : #time# > 0630 Elévation = -2.3°-90 Azimuth = 0°-335° (99 %)                                                                            
[2022-07-25 10:50:03][DEBUG] : [Bureau][GVt Bureau test] Position actuelle : 50 % → Position cible : 99 %
[2022-07-25 10:50:03][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la position cible : 49.49 %
[2022-07-25 10:50:03][DEBUG] : [Bureau][GVt Bureau test] Positionnement à 99 %

Comme vous pouvez le constater, l’exception n’est plus prise en considération.

J’ai fais le même test mais cette fois ci sans avoir coché l’option Action immédiate


Lorsque la condition est vraie, il faut attendre la prochaine vérification et on obtient le log suivant

[2022-07-25 10:35:02][DEBUG] : [Bureau][GVt Bureau test] Démarrage de la gestion automatique
[2022-07-25 10:35:02][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la dernière position connue : 0 %
[2022-07-25 10:35:02][DEBUG] : [Bureau][GVt Bureau test] Calcul de positionnement - Conditions remplies : #time# > 0630 Elévation = -2.3°-90 Azimuth = 0°-335° (99 %)                                                                            
[2022-07-25 10:35:02][DEBUG] : [Bureau][GVt Bureau test] Condition remplie : #17120# == 1 (50 %)
[2022-07-25 10:35:02][DEBUG] : [Bureau][GVt Bureau test] Position actuelle : 99 % → Position cible : 50 %
[2022-07-25 10:35:02][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la position cible : 49.49 %
[2022-07-25 10:35:02][DEBUG] : [Bureau][GVt Bureau test] Positionnement à 50 %

A la vérification suivante, avec la condition toujours vraie, le volet reste en position

[2022-07-25 10:40:03][DEBUG] : [Bureau][GVt Bureau test] Démarrage de la gestion automatique 
[2022-07-25 10:40:03][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la dernière position connue : 0 %
[2022-07-25 10:40:03][DEBUG] : [Bureau][GVt Bureau test] Calcul de positionnement - Conditions remplies : #time# > 0630 Elévation = -2.3°-90 Azimuth = 0°-335° (99 %)
[2022-07-25 10:40:03][DEBUG] : [Bureau][GVt Bureau test] Condition remplie : #17120# == 1 (50 %)
[2022-07-25 10:40:03][DEBUG] : [Bureau][GVt Bureau test] Position actuelle : 50 % → Position cible : 50 %
[2022-07-25 10:40:03][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la position cible : 0 %
[2022-07-25 10:40:03][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la position cible inférieur à 4 % : aucune action

En conclusion, l’option action immédiate est à usage unique, l’exception saute à la prochaine vérification. Il faut que l’évènement se reproduise pour que l’exception soit appliquée.
Sans cette option, l’exception est appliquée à chaque vérification.

Alors, fonctionnement normal ou bug ?

En poursuivant mes tests, c’est l’option « Action immédiate prioritaire » qui crée cette différence de comportement.
Lorsque je décoche cette option, l’exception est systématiquement prise en compte que l’option « action immédiate » soit cochée ou pas.

La doc du plugin précise ceci concernant l’option « Action immédiate prioritaire »

  • Action immédiate prioritaire : Cochez la case pour que les exceptions avec action immédiate s’exécutent peu importe les autres conditions, même en cas de suspension.

Le comportement constaté n’est pas détaillé dans la doc, il s’agirait donc d’un BUG

Regarde ici je crois que c’est un cas identique.

1 « J'aime »

Merci. C’est exactement le même problème. Dommage que nous n’avons pas de conclusion avec le test de la Beta.
Ce sujet date du 28 juin, la version stable du 3 Mai, je suis surpris que la Beta soit toujours beta…

Compliqué de passer des maj sur des plugins aussi important avant les vacances d’été je pense. Je vais relancer dans le sujet pour savoir si c’est mieux en beta.

Je viens de faire les mêmes tests avec la Beta du 15/06, le problème est identique.


[2022-07-25 15:53:01][DEBUG] : [Bureau][GVt Bureau test] Déclenchement de l'action immédiate : Array (     [sunshutter_id] => 1458     [event_id] => 17120     [value] => 1     [datetime] => 2022-07-25 15:53:01     [listener_id] => 2909 )    
[2022-07-25 15:53:01][DEBUG] : [Bureau][GVt Bureau test] Les actions immédiates sont prioritaires
[2022-07-25 15:53:01][DEBUG] : [Bureau][GVt Bureau test] Condition avec action immédiate : #17120# == 1 (50 %)
[2022-07-25 15:53:01][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la position cible : 49.49 %
[2022-07-25 15:53:01][DEBUG] : [Bureau][GVt Bureau test] Positionnement à 50 %


[2022-07-25 15:55:02][DEBUG] : [Bureau][GVt Bureau test] Démarrage de la gestion automatique
[2022-07-25 15:55:02][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la dernière position connue : 0 %
[2022-07-25 15:55:02][DEBUG] : [Bureau][GVt Bureau test] Calcul de positionnement - Conditions non remplies : #11342# == "Summer" ET #18267# Elévation = 2°-60 Azimuth = 187,5°-332° (35 %)                                                      
[2022-07-25 15:55:02][DEBUG] : [Bureau][GVt Bureau test] Calcul de positionnement - Conditions remplies : #time# > 0630 Elévation = -2.3°-90 Azimuth = 0°-335° (99 %)                                                                            
[2022-07-25 15:55:02][DEBUG] : [Bureau][GVt Bureau test] Position actuelle : 50 % → Position cible : 99 %
[2022-07-25 15:55:02][DEBUG] : [Bureau][GVt Bureau test] Ecart avec la position cible : 49.49 %
[2022-07-25 15:55:02][DEBUG] : [Bureau][GVt Bureau test] Positionnement à 99 %

Hello! Je suis l’utilisateur du sujet linké par Idaho947.
Nos sujets sont identiques, à ce point près : de ce que j’avais écrit →

Intéressant, j’ai testé plusieurs combinaisons de ta suggestion : le cron est hors de cause. La case ‹ action immédiate › de l’onglet equipement n’a pas d’effet, par contre, mon exception est bien respectée si je décoche l’action immédiate dans l’onglet exception.

Affaire à suivre, donc! :slight_smile:

Hello.
Tu peux laisser tes exceptions en action immédiate si et seulement si tu n’as pas coché « Action immédiate prioritaire »
C’est l’option « Action immédiate prioritaire » qui crée le problème.

Je viens de retester : ok confirmé de mon côté aussi.

Quelqu’un est en mesure de poster le bug chez Jeedom ?
Merci

Bonjour
C’est pas un bug pour moi en gros l’évent arrive l’action immédiate est prioritaire donc il regarde pas le reste et traité. Jusque là pas de soucis.

Ensuite lors de la vérification 5min plus tard l’évent et plus la donc il retraite dans l’ordre voulu. C’est bien le comportement attendu. C’est pas celui que vous voulez mais c’est pas un bug pour autant.

Changer le comportement pour celui que vous attendez serait beaucoup trop complexe malheureusement car faudrait de rappeler des évents, de leur ordre et leur valeurs. Pour moi c’est surtout l’option de traitement prioritaire des actions immédiate qui n’aurait jamais dû être mise en place car ça induit un comportement logique au niveau du code mais pas forcément clair pour l’utilisateur

1 « J'aime »

Bonjour Loic,
Merci pour ta participation. Je ne suis pas certain d’avoir tout compris.

5 min plus tard, la condition déclenchée par l’event est toujours vraie. Donc même si il reprend le traitement des exceptions dans l’ordre voulu, le fait que la condition soit toujours vrai, il doit garder le volet à 50%.

Je ne comprends pas pourquoi le fait d’avoir coché Action Immédiate Prioritaire dans les paramètres généraux fait que cette condition d’exception n’est plus vue comme vrai au check suivant.

Je rappelle que le comportement est tout à fait correct lorsque l’option Action Immédiate Prioritaire n’est pas coché.

As tu un exemple qui illustre l’usage de cette option ?

Merci

Bonjour,
J’ai pas de cas pratique pour cette option comme dit je ne l’aurais pas mis car elle apporte de la confusion. Mais dans l’idée je pense que le but serait un truc du genre.

Tu as 3 exceptions (1,2 et 3), avec la 2 en immédiate (event 1 et 2) et 3 immédiate prioritaire (event 1).

A t le systeme analyse E1 est valide il fait l’action, a t+1 event 2 arrive mais E1 est toujours valide il reste sur E1. A t+2 event 2 arrive , il fait E3. A t+X il refais une analyse E1 est toujours valide il applique donc E1.

C’est le comportement voulu et celui codé. Pourquoi faire ca je sais pas il doit avoir des cas ou c’est utile sinon on l’aurait pas fait.

Mais c’est pas ce que vous voulez comme comportement vous, de ce que je comprends vous pouvez ignorer la notion de prioritaire pas utile dans votre cas et vous avez juste a organiser les exceptions dans l’ordre voulu et a cocher immédiate pour celle ou c’est necessaire.

Ok.
Comme tu le suggères, je vais mettre de coté cette option qui reste assez obscure :wink:
Le principal est d’avoir une config qui répond au besoin. J’aurais peut-être un jour des cas qui nécessiteront l’usage de cette option, ce sera l’occasion de s’y replonger.

Merci

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.