Incoherence de positionnement des volets (WIDGET SlidVertical_v3 + FGR-223)

Salut,

J’utilise des modules FGR-223 et le chouette widget SlidVertical_v3.

J’ai effectué étalonnage des modules. Les volets montent et descendent correctement et le widget envoi la bonne valeur de l’état qu’on active le volet via Jeedom ou via le bouton physique (à impulsion).

Le soucis c’est qu’en regardant le volet (pas le visuel dans Jeedom, le vrai volet) il n’est pas dans la même position que ce que l’état indique.
Exemple : à 50% dans Jeedom le volet ne se trouve pas au milieu de la fenêtre mais plus au 3/4 (grosso modo).

Cela ne me parait pas anormal puisque dans le temps de montée ou descente (entre les butées) il y a un certain temps d’ouverture ou fermeture des lames.
Exemple : Volet fermé, si on déclenche l’ouverture, le volet commencer à véritablement se décoller du bas que quand l’état de position du module est à 25%.

Comment peut-on faire pour qu’il y ai cohérence entre la position que renvoi le module et la véritable position du volet ?

Merci pour vos idées !

Bison

Tout à fait d’accord avec toi @Bison, je cherche aussi une solution.
J’avais pensé à modifier le Widget pour « tronquer » les pourcentage, mettre du 20% au lieu de 10% pour qu’il y ai une correspondante, mais du coup ça me décale tout et au lieu d’avoir 100% quand c’est ouvert, j’ai un 90%…
C’est de la bidouille, du coup j’ai remis comme c’était.

Salut,

J’avais bien aussi pensé une secondes à modifier le widget mais à la moindre mise à jour de celui-ci, il faudrait recommencer, c’est donc une solution que j’avais écartée.

En plus il faudrait faire quelque chose de plus sofistiqué que juste un décalage linéaire de x%
Pour moi ça serait plus un truc du genre :
Si état 0% : Affichage = « fermé » [correctement géré]
Si état entre 1% et 25% (le volet n’est pas encore décollé du bas) : Affichage = « ajouré »
Si état entre 26% et 85% (la position du volet est à corriger) : Affichage = (Etat-25%)
Si état > 85% (on est plus très loin de la réalité visuel) : Affichage = Etat%
Si état 99% : Affichage « ouvert » [correctement géré]

Si Cadavor passe par là … Pourrais-tu ajouter un bout de code (via pourquoi pas une option style « Fibaro ») pour implémenter l’adaptation de la position dans le Widget par rapport à la position réelle ?

Merci beaucoup !

1 « J'aime »

Même problème décalage entre le visuel dans Jeedom ,et la position réelle du volet. C’est vrai que c’est un peu ennuyeux quand on veut par exemple positionner le volet à 50% et qu’au final il n’est qu’a 30% ou 60%, on ne sait jamais ou cliquer du coup il faut s’y reprendre à plusieurs reprises pour obtenir un résultat satisfaisant.

Hello,

Bon j’ai crée un nouveau widget à partir du SlidVertical_V3 et modifié un peu le code.

Le but premier étant déjà de corriger la positon du volet sur le widget pour coller à la réalité.
Chez moi je suis parti sur une valeur référence de 24 c’est à dire que je considère qu’à la valeur de 24% le volet est visuellement à la position 0%.
Du coup en dessous de cette valeur je choisi d’afficher 1% pour dire qu’il est entre-ouvert.

Ancien : var new_value = (_options.display_value == ‹  ›) ? 0 : parseInt(_options.display_value);
Nouveau : var new_value = (_options.display_value == ‹  ›) ? 0 : parseInt(new_value-24+((new_value-24)*6/19));

Ajout de ce bloc avant $(".cmd[data-cmd_id=#id#] .slider-volet").slider(« value », new_value); :
if (new_value < 24 && new_value != 0) {
new_value = 1;
}

Ce qui donne en remplaçant le bloc :

       jeedom.cmd.update['#id#'] = function(_options) {        
         var new_value = (_options.display_value == '') ? 0 : parseInt(_options.display_value-24+((_options.display_value-24)*6/19));
         if (new_value == 99 && '#Fibaro#'.trim() == '1') {
           new_value = 100;
         }
         if (new_value < 24 && new_value != 0) {
           new_value = 1;
         }
         
         $(".cmd[data-cmd_id=#id#] .slider-volet").slider("value", new_value);

Bon par contre je ne vois pas du tout comment faire pour qu’en « slidant » le volet sur le visuel, il affiche la valeur déjà corrigé.
Il faudrait mettre cette formule quelque part, mais où :
valeur_corrigé = (19*(valeur_souhaité+24)+144)/25

Est-ce qu’un développeur peux nous aider si ce n’est celui qui avait fait le widget ?

Le probleme se pose pour tous les volets à positionnement.
Le pourcentage affiché et configurable n’est pas un pourcentage de hauteur d’ouverture mais de temps de montée (et de descente).
Il y a donc le temps que le volet décolle (chez moi cela correspond à 11%)

Je n’ai pas trouver de méthode correcte (comprendre jolie) pour gérer la plage de décollement des volets et donc avoir un pourcentage de hauteur d’ouverture.
Car si on souhaites avoir un volet ouvert en pointillé à 50%, il faut donc donner un ordre qui correspond à la moitié du pourcentage de décollement.

Je vais voir à proposer une option qui permettra de « décaler » le pourcentage comme tu l’as proposé mais cela entraînera surement la perte du positionnement fin en pointillé.

Salut cadavor, content de te voir.

Je n’ai pas bien compris ce que tu voulais dire par avoir un volet en pointillé à 50% ? A 50% du temps de montée je ne pense pas qu’un volet, quel que soit le modèle, n’ai pas encore decolé du bas ?
Pour moi l’affichage en pointillé doit s’afficher comme en réalité c’est dire entre le déclenchement du moteur et la fameuse valeur de pourcentage ou le volet décolle (24% chez moi et 11% chez toi) mais je présume que l’on parle bien de la même chose ?

Note : j’ai du me gourrer en modifiant le code car ça marche pas top et parfois volet fermé j’ai 1%. Parfois volet ouvert j’ai 98%…
Si je relance la manœuvre, le 2eme coup c’est bon, je vois pas trop pourquoi :thinking:.

@cadavor tu n’as pas eu le temps de regarder j’imagine ? :innocent:

Si j’ai commencé mais le temps me manque en ce moment ca devrait aller mieux début décembre…