Bug de widget sur virtuel multi etat

Bonjour,
j’ai créer un virtuel numérique, qui peut prendre une valeur de 0, 1, 10, ou 11.
si ma porte d’entrée es ouverte, et le garage fermé, il est à 1.
si garage ouvert et porte fermé , il est à 10
si les 2 sont ouverts à 11
si les 2 sont fermés à 10

ce widget s’appelle « house »
j’ai un audre widget, appliqué sur un autre virtual, avec mon nombre de fenetres ouvertes, qu s’appelle « windows »

Lorsque j’affiche mon dashboard, ou un design, l’affichage de mon widget « house » est correct.
Mais des qu’il change d’etat, l’image ne s’affiche pas, et affiche un « lien cassé » a la place.
quand j’essaye de voir quelle image il essaye d’afficher, je trouve :
http://XXX.XXX.XXX.XXX/plugins/widget/core/template/dashboard/cmd.info.numeric.Windows/C-home-C-garage-W.png
au lieu de trouver : http://XXX.XXX.XXX.XXX/plugins/widget/core/template/dashboard/cmd.info.numeric.House/C-home-C-garage-W.png
quelqu’un sait d’ou ca peut venir ?
dans le code HTML de mon widget j’ai bien ce code plus bas, donc je devrais avoir des « House » partout… merci pour votre aide

 var srcImg = 'plugins/widget/core/template/dashboard/cmd.info.numeric.House/';
	var iconUpdate#uid# = function (state){
		$('.cmd[data-cmd_uid=#uid#] .iconCmd').empty();
		if (state >= -1 && state <= 0) {
			$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img style="display: inline-block;" src="'+srcImg+'C-home-C-garage-W.png">');
		}
		if (state >= 1 && state <= 5) {
			$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img style="display: inline-block;" src="'+srcImg+'C-home-O-garage-W.png">');
		}
		if (state >= 6 && state <= 10) {
			$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img style="display: inline-block;" src="'+srcImg+'O-home-C-garage-W.png">');
		}
		if (state >= 11 && state <= 106) {
			$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img style="display: inline-block;" src="'+srcImg+'O-home-O-garage-W.png">');
		}
		$('.cmd[data-cmd_uid=#uid#] .state').text(state);
	};

Bonjour,
plusieurs remarques sur ton code:
tout d’abords, la valeur 10 correspont à la fois à :
« garage ouvert & porte fermée » et aussi « les 2 sont fermés » c’est ambigüe il faudrait une valeur 00 si les 2 sont fermé par exemple…
Ensuite, dans ta fonction: dans tous les cas tu fais toujours la même action = html(’’) soit, le reset de la commande sélectionnée… à quoi servent tous ces ‹ if › ?

Au final, je peux pas t’aider, j’ai pas la réponse et même j’ai moi aussi une différence de comportement entre le mode « desktop » et le mode « mobile » je t’explique: j’ai ce code jquery pour générer du HTML, à savoir un input radio et un label:

   // generate radio buttons
   $.each(arr, function(index, value) {
     $(".classSwitch6Ways#uid#").append(
       '<input type="radio" name="key#uid#" id="key' + (index+1) + '#uid#" value="' + (index+1) + 
        '"/>', '<label for="key' +(index+1)+ '#uid#">'
        + value + '</label>');
   });

en mode dashboard ça marche nickel, mais en mode mobile ça entoure les 2 éléments dans un

donc je me retrouve avec :

<div class="ui-radio">
<input type="radio" ... />
<label for="..."> ... </label>
</div>

Je ne sais pas pourquoi ni comment ce div s’ajoute en mode mobile. il doit y avoir un script jquery mobile supplémentaire qui fait des actions dans notre dos sans nous le dire… Je ne pense pas que ce soit un bug du widget mais il y a des différences entre le mode dashboard et le mode mobile, et on ne nous dit pas tout! en tout cas j’ai pas trouvé dans les docs widget :slight_smile:

Hello,
je n’ai pas trouvé, mais du coup je suis passé en V4 et je n’ai plus ce bug depuis…
les 2 etats différents avec la meme valeur, etait une faute de frappe, effectivement tout fermé correspond a 0.
Pour le code et tous les ifs, effectivement, maintenant que je le lis, il parait louche, mais je ne l’ai pas ecrit ce code… il etait généré automatiquement par le plugin widget…
bref, en V4 c’est pseudo reglé… :wink:
a+

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.