[Virtual] Infos remontent en double depuis MàJ

Bonsoir, depuis la dernière mise à jour effectuée aujourd’hui de plusieurs plugins dont Virtual, J’ai toutes les infos qui remontent en double.

Exemple :
J’ai des capteurs de température et de porte Xiaomi que je gère avec Deconz (cle conbee2), lorsque une infos est mise à jour je le retrouve bien 1 seul fois dans le log Deconz, mais 2 fois sur le Virtuel.
Comme j’ai des scénarios liées aux information des virtuels, ceux-ci ce lancent 2 fois aussi.

Plugin Deconz :

[2020-05-13 20:19:42][INFO] : Evènement sur la commande [Rdc][Deconz Porte Rdc Garage][Ouverture] valeur : 1
[2020-05-13 20:19:46][INFO] : Evènement sur la commande [Rdc][Deconz Porte Rdc Garage][Ouverture] valeur : 0

Plugin Virtual :

[2020-05-13 20:19:42][INFO] : Evènement sur la commande [Rdc][Virtuel Porte Rdc Garage][Ouverture] valeur : 1
[2020-05-13 20:19:42][INFO] : Evènement sur la commande [Rdc][Virtuel Porte Rdc Garage][Ouverture] valeur : 1
[2020-05-13 20:19:42][INFO] : Exécution du scénario [Maison][SECURITE][Alarme Portes] déclenché par : [Rdc][Virtuel Porte Rdc Garage][Ouverture]
[2020-05-13 20:19:43][INFO] : Exécution du scénario [Maison][SECURITE][Alarme Portes] déclenché par : [Rdc][Virtuel Porte Rdc Garage][Ouverture]
[2020-05-13 20:19:46][INFO] : Evènement sur la commande [Rdc][Virtuel Porte Rdc Garage][Ouverture] valeur : 0
[2020-05-13 20:19:46][INFO] : Evènement sur la commande [Rdc][Virtuel Porte Rdc Garage][Ouverture] valeur : 0

J’ai déjà effectué une réinstallation du plugin, j’ai redémarrer Jeedom, reboot du raspberry4 mais rien y fait.
Le seul moyen actuel que j’ai trouvé c’est de configurer l’info virtual en « Jamais répéter ».

Merci.

Re-Bonjour, je viens de restaurer une sauvegarde, J’ai refait des essais, j’ai bien mes infos dans mes virtuel qui remontent en 1 seul exemplaire, J’ai effectué ensuite les Mise à jours 1 par 1 dans l’ordre d’apparition de la versions, a chaque MàJ j’ai effectué des essai sans problème, mais dès lors ou je suis arrivé a la MàJ de Virtual , Je rencontre encore le même problème expliqué ci-dessus, a savoir l’info qui remonte 2 fois dans mon virtuel !!!

Si quelqu’un aurait une petite idée du problème se serai sympa.
Merci.

Bonjour.

De mon coté, je n’ai pas fait de tests poussées car ma configuration est relativement simple mais je constate le même phénomène avec mes détecteurs de portes Xiaomi, depuis que j’ai mis à jour le plugin Virtual.
Pour ma part, j’utilise une clé Zigate.

Ca inspire quelqu’un ???
Merci à la communauté :slight_smile:

Bonjour à tous,
je confirme avoir exactement le même problème.
Ceci est particulièrement gênant dans la gestion d’infos qui nécessitent une répétition.
Affaire à suivre en espérant un correctif rapide.
@Phpvarious, as tu vérifié si le problème est lié au plugin Virtual ou à la mise à jour du core récente ? Je suis en version 3.3.49 pour ma part.
Merci à la communauté.

Merci à mchacher grâce à qui j’ai trouvé ce topic.

Je suis dans le même bateau, suite à une MAJ effectuée mardi ou mercredi dernier.
Pour ma part j’ai u nzigbee2mqtt > JMQTT > VIRTUEL > scénario - toujours l’option « toujours répéter »

Dès j’enlève le plugin VIRTUEL de l’équation, les doublons disparaissent et le scénario fonctionne normalement.
J’ai tenté une mise à jour du core en dernière version ce matin, idem.

Merci d’avance à la communauté :slight_smile:

1 « J'aime »

Bonjour,

je suis aussi à jour du plugin virtual de ce matin et en version 3.3.49
Je n’ai pour le moment pas remarqué de problème mais en effectuant les tests suivants j’ai effectivement le même comportement.

Pour les tests j’ai utilisé une télécommande RFXCOM avec une commande info qui passe de 0 a 1 suivant le bouton sélectionné.

Dans un premier temps j’ai sélectionné cette info comme déclencheur d’un scénario, résultat je n’ai qu’un déclenchement par appuis.

Si maintenant je passe par un virtuel avec une commande info branché sur l’info de ma télécommande, j’ai bien 2 déclenchements du sénario

Étrangement si dans mon virtuel ce sont des commandes action du même virtuel qui change l’etat de la commande info, le scénario ne se déclenche q’une fois…

Comme je le disais je n’ai pas d’effet de bord visible pour le moment mais je pence que lorsque tout le monde sera à la maison ce soir les problèmes vont arriver … et zut pas envie de revenir en arrière (snapshot)

Edit : à en croire le change log rien eu de fait « d’important » depuis le 23/10/2019

ken@vo
Phil

Re,

Bon après un petit dif entre la version en place sur mon systeme hier et la nouvelle version il n’y a pas des tonnes de modif mais il y en a une qui attire le regard. Cette ligne a été ajoutée dans la méthode « execute » pour les commandes de type info…

$this->event($result);

ça ne doit pas être une coïncidence.

Quelqu’un de l’équipe peut regarder ?

1 « J'aime »

J’étais dessus également, c’est effectivement cette ligne 318 de ce commit qui est la cause je pense:

je ne suis pas sur de pourquoi elle a été ajoutée, j’imagine que dans certain cas si il y avait une expression à évaluer ce n’était pas la bonne valeur qui était envoyé la première fois?

ok, @Loic a changé la version en beta il y a 4h en commentant cette ligne, ca va être fixé donc

Salut, je confirme, j’ai essayé avec seulement la MaJ du plugin, et pareil.

Je viens de faire le test sans cette ligne et comme espéré il n’y a plus qu’un seul déclenchement.

Maintenant reste à savoir pourquoi cette ligne a été ajoutée et dans quel cas elle est utile…

je viens de faire un petit tour sur le github la ligne à été mise en commentaire dans les sources il y a 4h donc Loic travaille sur le sujet :wink:

grillé par @Mips

1 « J'aime »

Je vient de testé en version beta, sa résout bien le problème, en attente de la version finale.
Merci a tous.
Dois-je mettre le Topic en résolu ?

Je propose d’attendre pour mettre le problème en résolu.
La version n’est pas dispo.
Merci

1 « J'aime »

J’ai testé également. A priori ça fonctionne. Pas idée d’autres régressions éventuelles que ceci pourrait engendrer en revanche.

Bonjour

Y’a un petit détail qui me dérange, ce sont ces 3 lignes :

Changelog Virtuel

IMPORTANT

Pour rappel s’il n’y a pas d’information sur la mise à jour, c’est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte

Or, il n’y a pas eu d’information sur la mise à jour de mi-mai et on a bien vu que du code avait été modifié… Un oubli ???

Merci quand même au développeur qui fait vraiment un super boulot !

Bonsoir,

je viens de découvrir une nouvelle « régression » dans le plugin virtal, en plus de faire marche arrière sur le problème rencontré précédemment une autre modification à été faite dans la dernière mise à jour.

$virtualCmd->event($result);

remplacé par

$eqLogic->checkAndUpdateCmd($virtualCmd,$result);

Et tout mon système d’interrupteurs qui utilise des virtuels ne fonctionne plus et évidement c’est en rentant ce soir que je m’en rend compte. Heureusement que j’avais vu ce matin cette modification. Mais sans en mesurer les conséquences.

Un retour à la version précédente de cette ligne et c’est repartit.

Bon on verra demain si j’arrive à expliquer mon nouveau problème ou alors si l’équipe explique la semaine prochaine cette nouvelle modification…

ken@vo
Phil

Finalement j’ai pris 5 minutes pour tenter de comprendre et le checkAndUpdateCmd ça doit être pour vérifier le comportement des commandes info suivant le paramétrage « Gestion de la répétition des valeurs ». Dans mon cas mes commandes d’interrupteurs ne sont pas configurées en « toujours répéter » et entre deux appuis elles ne changent par obligatoirement de valeur. Si j’ai bien compris jusqu’à la dernière modification, le plugin virtuel ne tenait pas compte de ce réglage ce qui vient d’être fait.

J’ai fait le test sur une commande et ça fonctionne.

On va dire que je suis bon pour corriger toutes mes commandes de ce type pour les passer en « toujours répéter ».

Pour ce soir je laisse l’ancienne ligne de code on verra demain mais si vous rencontrez le même problème vous pouvez corriger vos commandes.

Ken@vo
Phil

1 « J'aime »

Bonjour

Pour info, une nouvelle version du plugin Virtual est dispo.

Merci au développeur !

Bonjour, @Pacha95

Si ton message s’adresses à moi au sujet de mes deux derniers message, c’est avec la dernière version justement que mon « problème » arrive

ken@vo
Phil

Bonjour, Je rebondit sur ton Post @Phil56, J’avoue que je n’est jamais trop compris la différence entre « Automatique » et « toujours répéter ». A part le fait qu’on pouvait déduire dans les log que c’était une répétition ou pas.
Avant les MàJ de mémoire quand l’infos était en « Automatique » cela revenait a l’option « Toujours répéter » avec juste l’ajout (répétition) dans le log,

Automatique avant MaJ :

[2020-05-17 10:09:50][INFO] : Exécution de la commande [Maison][TEST3][ON] avec les paramètres {"utid":"xxxxxxxxxxxxx"}
[2020-05-17 10:09:50][INFO] : Evènement sur la commande [Maison][TEST3][ETAT] valeur : 1 (répétition)

Et effectivement maintenant après la MàJ, L’option « Automatique » agit comme l’option « jamais répéter ».

Automatique après MàJ :

[2020-05-17 10:14:27][INFO] : Exécution de la commande [Maison][TEST3][ON] avec les paramètres {"utid":"xxxxxxxxxxxxx"}