Répétition de la valeur des commandes

astuce

 

Nous voyons en ce moment pas mal de questions/soucis sur le forum à propos de la répétition des valeurs de commande.


Nota : même si la team n’intervient plus sur le forum ou peu (le forum est juste hébergé à titre gracieux par Jeedom pour la communauté mais n’est pas lié à la société Jeedom, c’est donc un endroit communautaire et sans support officiel), elle suit dans les grandes lignes ce qu’il s’y passe.


Qu’est ce que la répétition des commandes ?

C’est quand l’équipement renvoie la même valeur pour une commande que la valeur précédente.

Pourquoi c’est si compliqué à gérer ?

Il est vrai que l’on pourrait tout simplement la répéter mais cela augmente la charge Jeedom donc la réactivité, tout est donc une question d’équilibre. On pourrait aussi ne jamais les répéter mais cela pose alors un souci car certains équipements n’envoient pas de changement de valeur.

On peut avoir des exemples ?

Oui 2 cas assez simples :

  • Une télécommande qui envoie 1 pour le bouton 1, 2 pour le bouton 2…. Vous voulez par exemple en appuyant sur le bouton 3 faire une bascule d’une lampe (si allumée alors l’éteindre, si éteinte alors l’allumer). La lampe est allumée vous voulez l’éteindre, ça envoie donc la valeur 3, jusque là pas de souci. Mais finalement, vous décidez de la rallumer, ça renvoie un 3 sauf que la valeur précédente était déjà 3 donc Jeedom ne fera rien [non prise en compte systématique de la répétition].
  • Autre cas : une prise électrique qui envoie la valeur de la puissance toutes les 30 s et si la valeur dépasse 20 watts, vous avez un scénario qui vous envoie une alerte. Imaginons vous branchez une lampe dessus, la valeur sera donc de 50 watts (par exemple), à t=0 donc envoi de l’information puissance de 50 watts, la scénario se déclenche et vous envoie une alerte, jusque là tout va bien. Arrivé à t = 30 s, la prise renvoie sa valeur, soit 50 watts donc à nouveau une alerte. Comme vous le voyez en plus d’une surcharge coté Jeedom car il va faire tout ce qui est lancement de scénario, mise à jour de l’affichage et autre, vous allez vous retrouver spammé [prise en compte systématique de la répétition].

Comme on peut le voir le fonctionnement souhaité dépend des cas d’utilisateurs, et malheureusement là Jeedom ne peut plus décider pour vous en mode automatique ce qui explique les questions du forum.

Que fait Jeedom lors de la remontée d’une valeur ?

Voilà ce que fait Jeedom (dans le désordre) :

  • vérification des scénarios
  • mise à jour de l’affichage
  • mise à jour des commandes dépendantes (si besoin)
  • envoi au listenner (type plugin jeelink)
  • mise à jour des résumés
  • ajout dans l’historique (si besoin)
  • appel des urls de push si besoin (si besoin)
  • vérification des retours d’état

Comment faire pour que tout marche bien ?

Nous allons mettre dans la version 2.4.6 (qui sortira demain ou après demain) une fonctionnalité normalement prévue en 3.0 (ce qui explique qu’il y aura de la reconfiguration à faire pour quelques utilisateurs), celle-ci se trouvera comme beaucoup d’options dans la configuration avancée des commandes (petite roue crantée sur la ligne de la commande). Le principe est assez simple, il y aura 3 modes de gestion de répétition des événements pour une commande :

  • auto (mode par défaut) : mode le plus complexe, il dépend du type de commande :
    • Cas simple : la valeur est la même que la précédente et la commande est binaire. Dans ce cas on repasse par toutes les étapes citées plus haut.
    • Cas plus compliqué : la commande est répétée et la commande n’est pas de type binaire. Dans ce cas Jeedom va seulement faire :
      • mise à jour des commandes dépendantes (si besoin)
      • envoi au listenner (type plugin jeelink)
      • ajout dans l’historique (si besoin)
      • appel des urls de push si besoin (si besoin)
      • vérification des retours d’état
  • toujours : quelque soit la valeur, toutes les étapes citées plus haut seront répétées
  • jamais : si la nouvelle valeur est la même que l’ancienne, Jeedom ne fera rien

Il ne vous reste qu’à voir si dans votre cas le mode par défaut vous convient ou si vous souhaitez basculer en toujours/jamais sur certaines commandes.

Voilà vous savez tout maintenant sur la remontée d’événement sous Jeedom et j’espère que maintenant vous comprenez pourquoi cela n’est pas si simple à gérer.

Cet article a été lu 8278 fois

Vous aimerez aussi...

40 réponses

  1. Seb dit :

    Merci à l’équipe 😀

  2. i-magin dit :

    Merci pour cette réponse réactive et précise

  3. Dany21000 dit :

    Merci, du travail, je suis dans ce cas aussi.

    Explication très intéressante.

  4. phil56 dit :

    Bonjour,

    si j’ai bien compris aucune possibilité n’est supprimée, c’est juste qu’avant si on ne cochai pas la case « Ignorer évènement si la valeur ne change pas » on était en mode « auto » c’est a dire qu’il y avait des règles « en dur », genre si c’est un binaire alors je fais ça sinon …. Dans la nouvelle version on a donc maintenant trois choix, le mode auto d’avant, le mode jamais équivalent a la case « Ignorer évènement …  » et le nouveau mode toujours où on est certain que les valeurs seront répétés…

    J’ai bon ? Si oui je dis bravo au moins on est sûr que les différents besoins sont pris en compte.

    ken@vo
    Phil

  5. Fred L dit :

    Merci pour la com et le travail

  6. Franck dit :

    Merci Loïc.
    Ce genre de communication à le mérité de mettre tout le monde d’accord, et de permettre d’anticiper (plutôt que de subir) les choix et changement du core.
    Je vois deja quelques équipements à modifier / vérifier. Mais ca ne le dérange pas : je passerais la 2.4.6 quand je saurais que j’aurais le temps de paramétrer la répétition pour ces équipements. Good job. 🙂

  7. Guenneguezt dit :

    Salut

    Très bonne nouvelle. Juste une remarque : dommage que le mode jamais n’historise pas la valeur car les graphiques seront moins lisible. À moins que dans le cas jamais, l’historique soit mis à la valeur prefedente juste avant modification, mais pas beau.

    À+
    Thomas

  8. Breizh22 dit :

    Merci pour cette article très bien expliqué. Fonctionne bien avec la V2.4.6. Fonction bien pratique d’avoir ce choix, merci Loïc.

  9. matric dit :

    Salut,
    Qu’apporte la 2.4.6 ?
    J’ai fouiné sur le blog, sur le forum et pas trouvé une information à son sujet.
    Dans le doute (j’aime le risque !) j’ai fais la maj mais pas soupçonné un changement.
    En tout cas, merci pour toute cette maintenance/évolution.

    • loic dit :

      Bonjour,
      La 2.4.6 apporte l’évolution indiqué dans cette article et rien d’autre.

      • matric dit :

        Merci d’avoir répondu loic.
        Effectivement la discussion porte depuis le début sur cette évolution justement.
        Ma question était mal posée, il s’agissait de la différence 2.4.5 versus 2.4.6, mineure sans doute mais c’était pour en avoir une idée.

        • matric dit :

          Laisse tomber la remarque. J’ai tout faux. J’avais zappé sans doute pour lire trop vite le début du chapitre: « Nous allons mettre dans la version 2.4.6 ….. »
          Je me flagelle d’avance avant que quelqu’un s’en occupe.

      • danm14 dit :

        Bonsoir,

        Et par rapport, a notre petit soucis de cache (zimeteo2) qui n’est pas présenté par l’API jeeApi.php … cette version ne change rien à ce niveau ?

  10. colas dit :

    Très belle évolution pour optimiser les perfs 🙂
    A priori j’ai pas de changement à faire pour moi, le mode Auto devrait faire l’affaire. A voir dans le temps comment se comporte mes modules zwave.

  11. Klein dit :

    Merci pour ces informations
    Petite question, il y avait déjà dans les paramètres une case à cocher ‘ne pas répéter si même valeur’ la nouvelle configuration avec 3 choix la remplacera ?

  12. bcaron dit :

    Il semble qu’il ne soit pas possible de répéter même lorsque c’est la même valeur dans le cas des virtuels.

  13. Bipbip41 dit :

    Bonjour,

    Au top le retour de cette fonctionnalité (disparue il y a quelques temps) avec en plus de l’amélioration. Quand on a beaucoup de sonde Oregon comme moi (12 au total, de tous types : température, pluviomètre, vent, etc), le fait de ne pas répéter la valeur diminue sensiblement la charge ! Presque 1/3 en moins, juste avec ceci. Merci beaucoup pour le taf !

  14. Breizh22 dit :

    Bonjour, il y a un bug avec cette fonction et le plugin RFLink dans sa dernière version, le développeur nous a dit que c’était corrigé dans une beta du core, à quand la sortie en stable ? En effet, cela est un bug très gênant pour certaines fonctions qui ont besoin de la commande « toujours répéter »

  15. Pierrick dit :

    Du nouveau concernant le correctif?
    Cela fait bientôt 4 mois que le problème est connu et impacte l’utilisation de plugins officiels comme celui du Thermostat par exemple….
    Pas cool….

  1. 7 avril 2017

    […] Répétition de la valeur des commandes […]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *