Je maj mes widgets custom en v4.3 mais je ne m’explique pas pourquoi mon code qui fonctionnait avant ne fonctionne plus?
jeedom.cmd.addUpdateFunction('#id#',function(_options)
{
var ls = #enumLabels# ;
var is = #enumIndex# ;
let val = _options.display_value;
let cmd = $('.cmd[data-cmd_id=#id#]');
let labels=[]; labels = ls.split(',');
let index=[]; index = is.split(',');
let i = index.indexOf(val);
cmd.find('.value').empty().append('val='+val+' i='+i+' is='+is); // labels[i]);
voila les valeurs des paramètres. J’ai été obligé de mettre les ’ ’ car Jeedom n’envoyait pas la string sinon
Au 1er appel tout va bien je récupère la bonne valeur: val=91 i=0 is=91,92,93
mais au refresh i vaut -1?? val=92 i=-1 is=91,92,93
Au début j’ai cru que c’était un pb de récupération des paramètres mais en fait non ca serait un problème javascript??
Je n’arrive pas a comprendre ce qui cloche: c’est la chaleur qui me joue des tours?
Merci pour ton retour. Oui j’ai fait plein d’essais dont le scope des variables.
J’ai imprimé chaque élément du tableau mais je n’ai pas pensé à vérifier le type
C’est quand même dingue que ca marche plus a partir de la 2e exécution ?
[EDIT] bon j’ai dormi un peu et trouvé mon problème: val est de type int pas string…ceci dit typeof me renvoie string a la 2ere execution, va savoir pourquoi…
Lors du 1er affichage est-ce bien toi qui envoie _options.display_value par la fonction refreshValue ? si oui comment est formaté la fonction ? as-tu supprimé les ' ' autour de #state#, car dans ce cas se sera bien un int sinon un string.
C’est sans doute a cause du subType, si tu utilise une commande info/Autre ce sera un string qui sera envoyé par le core, en revanche si ta commande est de type info/Numérique se sera un int
Edit : Etant dans la maj de tes widget, je ne peut que te conseiller de te débarrasser de jQuery et ainsi faire du fullJs, ainsi ceux-ci seront déja prêt lorsque le core passera en fullJs dans un futur (lointain )
Le widget était effectivement de type numeric et il n’y avait pas de ‘ ‘ ca n’aurait jamais du marcher mais pourtant si…va savoir pourquoi. Merci pour tes conseils