Répétition de la valeur des commandes
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.