Problème avec widget template V4 pour MODE

Bonjour à tous

j’ai un widget info other multistat pour un mode

Si je fais le test : #value# != « OFF » avec affichage VALEUR ‹ #value# ›, il affiche VALEUR ‹ OFF ›
Si je fais le test : #value# == « OFF » , il affiche rien…

Il n’y aurait pas un soucis en V4 avec les modes avec un nom de type ON/OFF ?

<div class="cmd cmd-widget history cursor tooltipstered" data-type="info" data-subtype="numeric" data-template="tmplmultistate" data-cmd_id="13981" data-cmd_uid="cmd13981__10263202__" data-version="dashboard" data-eqlogic_id="681">
	<div class="title hidden">
		<div class="cmdName">Mode</div>
	</div>
	<div class="content-sm">
		<span class="iconCmd"></span>
	</div>
	
	<script>
		jeedom.cmd.update['13981'] = function(_options){
			var cmd = $('.cmd[data-cmd_id=13981]');
			if('0' == '1'){
				jeedom.cmd.displayDuration(_options.valueDate,  cmd.find('.timeCmd'));
			}else{
				cmd.find('.timeCmd').parent().remove();
			}
			var state = '';
			cmd.attr('title','Date de valeur : '+_options.valueDate+'<br/>Date de collecte : '+_options.collectDate+'<br/>Valeur : '+_options.display_value+'');
			if(_options.display_value == 'OFF'){cmd.attr("data-state",0);state=jeedom.widgets.getThemeImg("VALEUR '"+_options.display_value+"'","VALEUR '"+_options.display_value+"'")}
			cmd.find('.iconCmd').empty().append(state);
			var style = '';
			if(!isNaN('')){
				style = 'width:px !important;'
			}
			cmd.find('.iconCmd img').attr('style',style);
			cmd.off('changeThemeEventCmd').on('changeThemeEventCmd',function (event, theme) {
				console.log(theme);
				var state = '';
				if(cmd.attr("data-state") == 0){state=jeedom.widgets.getThemeImg("VALEUR '"+_options.display_value+"'","VALEUR '"+_options.display_value+"'")}
				if(state != ''){
					cmd.find('.iconCmd').empty().append(state);
				}
				var style = '';
				if(!isNaN('')){
					style = 'width:px !important;'
				}
				cmd.find('.iconCmd img').attr('style',style);
			});
		}
		jeedom.cmd.update['13981']({display_value:'<span class="icon_red">OFF<span>',valueDate:'2020-04-06 08:39:00',collectDate:'2020-04-06 08:39:00',alertLevel:'none'});
		$('body').on('changeThemeEvent', function (event, theme) {
			$('.cmd[data-cmd_id=13981]').trigger('changeThemeEventCmd',theme);
		});
	</script>
	<!-- Hide parameters   -->
</div>

je comprends, j’ai d’autres widget pour mode sur le même modèle qui fonctionnent très bien

Bonjour @Loic

tu penses que c’est un BUG ou c’est le nom ON et OFF qui ne doit pas être utilisé dans les modes ?

Bonjour
Malheureusement je n’ai pas le temps de regarder ca, rappelle le mois en mai.

Ok
Je viens de voir que j’ai d’autres modes avec des On/Off et pas de problème avec le widget

C’est ce cas là qui coince, je comprend vraiment pas.

Bonjour,
Je ne sais pas si ça peut aider :
La commande retourne bien ON et OFF (en majuscule) ?
Il faut peut-être essayer avec la même casse… Ou même 1 ou 0 defois que Jeedom l’interprète autrement.

Je n’ai pas beaucoup d’expérience dans les widgets pour le moment, j’ai fais mon premier hier avec une commande info binaire.

J’ai parfois constaté que je devais réappliquer le widget après une modification pour qu’elle soit prise en compte… Un refresh de la page ne suffisait pas toujours.

Bonne journée

Bonjour, merci pour ta réponse

j’ai mis la même casse, mais je peux essayé avec 0 et 1 en effet

0 et 1, il connait pas

c’est normal, il y a un cache pour les widget, que tu peux desactiver temporairement ou vider dans la configuration

Bonjour

je n’ais toujours pas trouvé de solution pour ce problème

et j’ai d’autres modes avec des modes ON et OFF qui fonctionnent très bien

pourquoi celui là, qui est actuellement en OFF, ne résoud pas la condition #value# == "OFF" !

@Loic, mai approche, si tu peux mettre ca dans ta todolist, merci

Dénouement de ce jour

nouveau ticket au support et le problème vient de l’utilisation des couleurs dans le plugin MODE,

Car si on ajout une couleur à un mode, la valeur du mode n’est plus juste le nom du mode mais aussi la balise html de la couleur, du coup les tests ne fonctionnent plus !

j’ai viré la couleur et là tout est ok

merci @Loic, je m’arrachait les cheveux en ne comprenant pas ce qui clochait.

Après je trouve dommange que l’usage des couleurs, empêche l’usage d’un widget ou alors il faut mettre dans le test, toutes les lignes : <span class="icon_red">OFF<span>, pas très pratique.

mais faut le savoir :wink:

Ya pas d’autre solution ou alors je suis pas assez bon pour la trouver, on pourrait virer le code autour mais dans ce cas les utilisateurs qui renvoi la valeur en html auraient des plantages car il n’y aurait plus tout.

Je sais pas si c’est possible mais si dans le widget il était possible de faire un test comme dans les scénario :

#value# matches "off"

Ou laisser la saisie habituel avec == mais que derrière la condition ne soit pas un simple ‹ égale › mais un ‹ contient ›

Ou encore lors du test, si la #value# commence pas un « < » alors isoler la vrais valeur entre « > » « < » pour faire le test

Ben c’est possible le contient je vois pas le soucis c’est a toi de le faire dans ton test

J’avais essayé de mettre

#value# matches "/OFF/"

comme dans un scénario mais ça ne fonctionnait pas

Tu es en js la c’est

string.indexOf()
1 « J'aime »

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