Page 5 sur 7

Re: Mise à jour des widgets du core pour la V3

Publié : 23 mars 2019, 16:06
par domoggvad
Salut JAG
As tu réussi tes différents widget?
Merci

Envoyé de mon Redmi S2 en utilisant Tapatalk


Re: Mise à jour des widgets du core pour la V3

Publié : 23 mars 2019, 19:21
par JAG
domoggvad a écrit :
23 mars 2019, 16:06
Salut JAG
As tu réussi tes différents widget?
Merci

Envoyé de mon Redmi S2 en utilisant Tapatalk
L'ensemble de mes créations ou reprise de widget ont été mis à jour sur le market

Bonne soirée

Re: Mise à jour des widgets du core pour la V3

Publié : 24 mars 2019, 08:38
par raphael_malin
Bonjour,

Moi j'ai créé mes widgets que dois-je modifier pour que le refresh automatique fonctionne ?
exemple:

Code : Tout sélectionner

<div style="width:65px;min-height:70px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
<div style="font-weight: bold;font-size : 12px;#hideCmdName#" class='cmdName'>#name_display#</div>
  <center>
      <span id="iconCmd#id#"></span>
    </center>
    <script>
      // 1 en cours
      // 0 arreté
      // -1 desactivé
      // -2 le scénario n’existe pas
      // -3 l’état n’est pas cohérent
      
        if ('#state#' == '0' || '#state#' == 0) {
           $('#iconCmd#id#').append('<img src="	plugins/widget/core/template/dashboard/cmd.info.numeric.Led/EnCours.png" />');
        } else if ('#state#' == '1' || '#state#' == 1) {
           $('#iconCmd#id#').append('<img src="	plugins/widget/core/template/dashboard/cmd.info.numeric.Led/Probleme.png" />');
        } else if ('#state#' == '-1' || '#state#' == -1) {
           $('#iconCmd#id#').append('<img src="	plugins/widget/core/template/dashboard/cmd.info.numeric.Led/Arret.png" />');
        } else {
           $('#iconCmd#id#').append('<img src="	plugins/widget/core/template/dashboard/cmd.info.numeric.Led/Arret.png" />');
        }      
    </script>
</div>
ou encore ce genre de widget que j'ai partout:

Code : Tout sélectionner

<div item="#id#" style="vertical-align: middle; margin-top: 0px; width: 110px; height: 115px; background:url('plugins/widget/core/template/dashboard/cmd.info.numeric.EeDomus_elec/jauge_elec.png') no-repeat; background-position: center top;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
  	<div style="height: 26px; display:block;">#name#</div>
  	<!--<div class="custom-currentDate" style="height: 26px; font-size: 8.5px;"></div>-->
  	<!--<div class="custom-lastSensorDate" style="height: 26px; font-size: 8.5px;"></div>-->
  	<div class="custom-progress" style="margin-top: 0px; margin-left: 3px; width: 66px; height: 66px; background:url('plugins/widget/core/template/dashboard/cmd.info.numeric.EeDomus_elec/jauge_arrow.png') no-repeat; background-size: 66px 66px; background-position: center top;"></div>
  	<div style="margin-top: 0px;height: 7px;"></div>	
  	<div style="#displayHistory#; font-size: 8.5px; margin-top: 0px;">
    	<span title='Min' class='tooltips'>#minHistoryValue#</span>&nbsp;|&nbsp;<span title='Moyenne' class='tooltips'>#averageHistoryValue#</span>&nbsp;|&nbsp;<span title='Max' class='tooltips'>#maxHistoryValue#</span>&nbsp;&nbsp;<i class="#tendance#"></i>
	</div>
  	<div class="custom-bottom" style="vertical-align: middle; text-align: center; margin-top: 0px; font-weight: bold; font-size: 14px;"></div>
	<script>
      	var state = (is_numeric('#state#')) ? '#state# #unite#' : 'Error';
      	$("div[item=#id#]").find(".custom-bottom").html(state);
      	var value = (is_numeric('#state#')) ? parseFloat('#state#') : 0.0;
        var minValue = (is_numeric('#minValue#')) ? parseFloat('#minValue#') : 0.0;
      	var maxValue = (is_numeric('#maxValue#')) ? parseFloat('#maxValue#') : 0.0;
        var maxJauge = 280.0;
      	var rotation = (value-minValue) / (maxValue - minValue) * maxJauge;
      	rotation = ( rotation > maxJauge ) ? maxJauge : rotation;
		$("div[item=#id#]").find(".custom-progress").css("transform", "rotate(" + rotation + "deg)");
      	var pourcent = (value-minValue) / (maxValue - minValue) * 100;
      	pourcent = ( pourcent > 100 ) ? 100 : pourcent;
      	var bottom_bg = "red";
      	if ( state != 'Error' && pourcent < 33.3 ) { bottom_bg = "green"; }
      	else if ( state != 'Error' && pourcent < 66.6 ) { bottom_bg = "orange"; }
      	$("div[item=#id#]").find(".custom-bottom").css("background", "url('plugins/widget/core/template/dashboard/cmd.info.numeric.EeDomus_elec/bottom_" + bottom_bg + ".png') no-repeat");
        $("div[item=#id#]").find(".custom-bottom").css("background-size", "100px 18px");
        $("div[item=#id#]").find(".custom-bottom").css("background-position", "center top");
      	
      	// auto detect sensor inactivity in minute
      	var currentDate = Math.round(new Date().getTime()/1000);
      	var lastSensorDate = (new Date("#collectDate#")).getTime() / 1000;
      	var dateDiff = Math.round((currentDate - lastSensorDate) / 60);
      
      	// max sensor inactivity delay in minute
      	var sensorInactivityDelay = "#maxDelay#";
      	if ( sensorInactivityDelay == "#maxDelay#" ) {
        	sensorInactivityDelay = -1;
        }
      	
      	
      	$("div[item=#id#]").find(".custom-currentDate").html(dateDiff + ', ' + sensorInactivityDelay);
      	//$("div[item=#id#]").find(".custom-lastSensorDate").html(lastSensorDate);
      
	</script>
</div>
Merci

Re: Mise à jour des widgets du core pour la V3

Publié : 24 mars 2019, 09:09
par JAG
raphael_malin a écrit :
24 mars 2019, 08:38
Bonjour,

Moi j'ai créé mes widgets que dois-je modifier pour que le refresh automatique fonctionne ?
exemple:

Code : Tout sélectionner

<div style="width:65px;min-height:70px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
<div style="font-weight: bold;font-size : 12px;#hideCmdName#" class='cmdName'>#name_display#</div>
  <center>
      <span id="iconCmd#id#"></span>
    </center>
    <script>
      // 1 en cours
      // 0 arreté
      // -1 desactivé
      // -2 le scénario n’existe pas
      // -3 l’état n’est pas cohérent
      
        if ('#state#' == '0' || '#state#' == 0) {
           $('#iconCmd#id#').append('<img src="	plugins/widget/core/template/dashboard/cmd.info.numeric.Led/EnCours.png" />');
        } else if ('#state#' == '1' || '#state#' == 1) {
           $('#iconCmd#id#').append('<img src="	plugins/widget/core/template/dashboard/cmd.info.numeric.Led/Probleme.png" />');
        } else if ('#state#' == '-1' || '#state#' == -1) {
           $('#iconCmd#id#').append('<img src="	plugins/widget/core/template/dashboard/cmd.info.numeric.Led/Arret.png" />');
        } else {
           $('#iconCmd#id#').append('<img src="	plugins/widget/core/template/dashboard/cmd.info.numeric.Led/Arret.png" />');
        }      
    </script>
</div>
Merci
Pour le premier essaye, ce code

Code : Tout sélectionner

<div style="width:65px;min-height:70px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" title="#collectDate#">   
  <div style="font-weight: bold;font-size : 12px;#hideCmdName#" class='cmdName'>#name_display#</div>
  <center>
    	<span class="iconCmd"></span>
    </center>
    <script>
      jeedom.cmd.update['#id#'] = function(_options){
          // 1 en cours
          // 0 arreté
          // -1 desactivé
          // -2 le scénario n’existe pas
          // -3 l’état n’est pas cohérent   
		
        	// Options de personnalisation avec valeur par defaut
              		var srcImgURL 		= 'plugins/widget/core/template/dashboard/cmd.info.numeric.Led/';
          		// Variable Image
          			var srcPictureID; 
          	// Update
			var State = parseFloat(_options.display_value);	
                    if (State == '0'|| State == 0) {
                        srcPictureID = "EnCours";
                    } else if (State == '1'|| State == 1) {
                        srcPictureID = "Probleme";
                    } else if (State == '-1'|| State == -1) {
                        srcPictureID = "Arret";
                    } else {
                        srcPictureID = "Arret";
                    }          
			// Update IMG
                    $('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img src="'+srcImgURL +srcPictureID+ '.png" >');
		     		$('.cmd[data-cmd_id=#id#]').attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate);
		}
		jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});  
    </script>
</div>

Re: Mise à jour des widgets du core pour la V3

Publié : 24 mars 2019, 12:11
par raphael_malin
C'est une usine à gaz!!
C'est pas une petite différence entre l'un et l'autre!!! mais cela fonctionne très bien.
Pour faire mes widgets j'ai piqué sur d'autres et j'avais réussi à adapter, mais là j'avoue que c'est devenu trop technique.

J'ai un autre widget que j'avais mis en place pour mes designs, si c'est rapide pour toi à modifier je suis à nouveau preneur de tes connaissances:

Code : Tout sélectionner

<div style="width:50px;min-height:20px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
<div style="font-weight: bold;font-size : 10px;#hideCmdName#" class='cmdName'>#name_display#</div>
  <center>
      <span id="iconCmd#id#"></span>
    </center>
    <script>
      // 0 arretée
      // 1 allumée
      // 2 en charge 
      // 3 délestée
      // 4 alerte
      
        if ('#state#' == '0' || '#state#' == 0) {
           $('#iconCmd#id#').append('<img src=" /PERSO/widget/Leds/Led_grise.png" />');
        } else if ('#state#' == '1' || '#state#' == 1) {
           $('#iconCmd#id#').append('<img src="	/PERSO/widget/Leds/Led_verte.png" />');
        } else if ('#state#' == '2' || '#state#' == 2) {
           $('#iconCmd#id#').append('<img src="	/PERSO/widget/Leds/Led_jaune.png" />');
        } else if ('#state#' == '3' || '#state#' == 3) {
           $('#iconCmd#id#').append('<img src="	/PERSO/widget/Leds/Led_orange.png" />');
        } else if ('#state#' == '4' || '#state#' == 4) {
           $('#iconCmd#id#').append('<img src="	/PERSO/widget/Leds/Led_rouge2.gif" />');
        }      
    </script>
</div>
Merci bcp ! ;)

Re: Mise à jour des widgets du core pour la V3

Publié : 25 mars 2019, 12:04
par guims78
Hello, j'ai constaté qu'il n'y avait plus rien d'affiché dans les options d'affichage des widget Core, quand on veut personnaliser le code.
Est-ce normal ?

Re: Mise à jour des widgets du core pour la V3

Publié : 25 mars 2019, 12:25
par i-magin
@guims78, j'ai bien les "Paramètres optionnels widget"

Re: Mise à jour des widgets du core pour la V3

Publié : 25 mars 2019, 14:41
par guims78
i-magin a écrit :
25 mars 2019, 12:25
@guims78, j'ai bien les "Paramètres optionnels widget"
J'ai aussi, mais quand on va dans la personnalisation du code, là on l'on peut personnaliser le Dashboard, le Design, le Mobile, ...
quand on fait "+", c'est vide, il n'y a plus le code d'origine.

Est-ce normale avec la V3.19 ???

Re: Mise à jour des widgets du core pour la V3

Publié : 25 mars 2019, 18:04
par JAG
@raphael_malin
raphael_malin a écrit :
24 mars 2019, 12:11
C'est une usine à gaz!!
C'est pas une petite différence entre l'un et l'autre!!! mais cela fonctionne très bien.
Pour faire mes widgets j'ai piqué sur d'autres et j'avais réussi à adapter, mais là j'avoue que c'est devenu trop technique.

J'ai un autre widget que j'avais mis en place pour mes designs, si c'est rapide pour toi à modifier je suis à nouveau preneur de tes connaissances:

Code : Tout sélectionner

<div style="width:50px;min-height:20px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
<div style="font-weight: bold;font-size : 10px;#hideCmdName#" class='cmdName'>#name_display#</div>
  <center>
      <span id="iconCmd#id#"></span>
    </center>
    <script>
      // 0 arretée
      // 1 allumée
      // 2 en charge 
      // 3 délestée
      // 4 alerte
      
        if ('#state#' == '0' || '#state#' == 0) {
           $('#iconCmd#id#').append('<img src=" /PERSO/widget/Leds/Led_grise.png" />');
        } else if ('#state#' == '1' || '#state#' == 1) {
           $('#iconCmd#id#').append('<img src="	/PERSO/widget/Leds/Led_verte.png" />');
        } else if ('#state#' == '2' || '#state#' == 2) {
           $('#iconCmd#id#').append('<img src="	/PERSO/widget/Leds/Led_jaune.png" />');
        } else if ('#state#' == '3' || '#state#' == 3) {
           $('#iconCmd#id#').append('<img src="	/PERSO/widget/Leds/Led_orange.png" />');
        } else if ('#state#' == '4' || '#state#' == 4) {
           $('#iconCmd#id#').append('<img src="	/PERSO/widget/Leds/Led_rouge2.gif" />');
        }      
    </script>
</div>
Merci bcp ! ;)
Salut,
je viens d'essayer de faire le modif du widget mais je ne suis pas sur a tester

Code : Tout sélectionner

<div style="width:65px;min-height:70px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" title="#collectDate#">   
  <div style="font-weight: bold;font-size : 12px;#hideCmdName#" class='cmdName'>#name_display#</div>
  <center>
    	<span class="iconCmd"></span>
    </center>
    <script>
      jeedom.cmd.update['#id#'] = function(_options){
      		// 0 arretée
      		// 1 allumée
      		// 2 en charge 
      		// 3 délestée
      		// 4 alerte 
		
        	// Options de personnalisation avec valeur par defaut
              		var srcImgURL 		= '/PERSO/widget/Leds/';
          		// Variable Image
          			var srcPictureID; 
          	// Update
			var State = parseFloat(_options.display_value);	
                    if (State == '0'|| State == 0) {
                        srcPictureID = "Led_grise.png";
                    } else if (State == '1'|| State == 1) {
                        srcPictureID = "Led_verte.png";
                    } else if (State == '2'|| State == 2) {
                        srcPictureID = "Led_jaune.png";
                    } else if (State == '3'|| State == 3) {
                        srcPictureID = "Led_orange.png";
                    } else if (State == '4'|| State == 4) {
                        srcPictureID = "Led_rouge2.gif";
                    } else {
                      	srcPictureID = "Led_grise.png";
                    }          
			// Update IMG
                    $('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img src="'+srcImgURL +srcPictureID+ '" >');
		     		$('.cmd[data-cmd_id=#id#]').attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate);
		}
		jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});  
    </script>
</div>
bonne soirée

Re: Mise à jour des widgets du core pour la V3

Publié : 25 mars 2019, 18:15
par mortyre
Bonjour. Quelqu'un a til déjà fait la modification du Widget OuvertureIMG ?

Voici le code ci-dessous

Code : Tout sélectionner

<div style="width:95px;min-height:90px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
   <center>    
    <span class="timeCmd#uid#" style="background-color:#cmdColor# !important;padding : 3px;border-radius: 4px;font-weight:bold;font-size:0.7em;"></span>
    <span id="iconCmd#id#"></span>
  </center> 
    <script>
       jeedom.cmd.displayDuration('#valueDate#', $('.timeCmd#uid#'));
       
      /* Attributs list :
      	    - equipImg : image name in lower case, use in the follow list :
                                                      baie_blanche_droite
                                                      baie_blanche_gauche
                                                      baie_marron_droite
	    - heightImage : height in pixel of image to show default is 90
            - widthImage : 	width in pixel of image to show default is 90
     */
     
      	var equipImg = "#equipImg#";
       	var imgHeight;
         var imgWidth;
         if (!isNaN(parseFloat("#heightImage#"))) {
           imgHeight = "#heightImage#";
         } else {
             if(equipImg == ""){
               equipImg = "porte_fenetre_noire";
             	imgHeight = "145";
             } else {
             	imgHeight = "100";
             }
         }
         if (!isNaN(parseFloat("#widthImage#"))) {
           imgWidth = "#widthImage#";
         } else {
           imgWidth = "90";
         }
        if ('#state#' == '1' || '#state#' == 1) {
          if(equipImg.startsWith('baie_')){
            var res = equipImg.split("_");
            equipImg = res[0] + "_" + res[1];
          }
           $('#iconCmd#id#').append('<img style="height:' + imgHeight + 'px;width:' + imgWidth + 'px;"  src="plugins/widget/core/template/dashboard/cmd.info.binary.ouvertureIMG/' + equipImg + '.png" />');
        }
        if ('#state#' == '0' || '#state#' == 0) {
           $('#iconCmd#id#').append('<img style="height:' + imgHeight + 'px;width:' + imgWidth + 'px;"  src="plugins/widget/core/template/dashboard/cmd.info.binary.ouvertureIMG/' + equipImg + '_ouverte.png" />');
        }
    
    </script>
  
</div>

Re: Mise à jour des widgets du core pour la V3

Publié : 25 mars 2019, 18:22
par JAG
Salut,

J'en ai fait un sur le même principe et @Salvialf a crée un widget multiouvrant viewtopic.php?f=29&t=44125

je peux essayer d'apdater le mien pour prendre en compte ce widget

Bonne soirée
mortyre a écrit :
25 mars 2019, 18:15
Bonjour. Quelqu'un a til déjà fait la modification du Widget OuvertureIMG ?

Voici le code ci-dessous

Code : Tout sélectionner

<div style="width:95px;min-height:90px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
   <center>    
    <span class="timeCmd#uid#" style="background-color:#cmdColor# !important;padding : 3px;border-radius: 4px;font-weight:bold;font-size:0.7em;"></span>
    <span id="iconCmd#id#"></span>
  </center> 
    <script>
       jeedom.cmd.displayDuration('#valueDate#', $('.timeCmd#uid#'));
       
      /* Attributs list :
      	    - equipImg : image name in lower case, use in the follow list :
                                                      baie_blanche_droite
                                                      baie_blanche_gauche
                                                      baie_marron_droite
	    - heightImage : height in pixel of image to show default is 90
            - widthImage : 	width in pixel of image to show default is 90
     */
     
      	var equipImg = "#equipImg#";
       	var imgHeight;
         var imgWidth;
         if (!isNaN(parseFloat("#heightImage#"))) {
           imgHeight = "#heightImage#";
         } else {
             if(equipImg == ""){
               equipImg = "porte_fenetre_noire";
             	imgHeight = "145";
             } else {
             	imgHeight = "100";
             }
         }
         if (!isNaN(parseFloat("#widthImage#"))) {
           imgWidth = "#widthImage#";
         } else {
           imgWidth = "90";
         }
        if ('#state#' == '1' || '#state#' == 1) {
          if(equipImg.startsWith('baie_')){
            var res = equipImg.split("_");
            equipImg = res[0] + "_" + res[1];
          }
           $('#iconCmd#id#').append('<img style="height:' + imgHeight + 'px;width:' + imgWidth + 'px;"  src="plugins/widget/core/template/dashboard/cmd.info.binary.ouvertureIMG/' + equipImg + '.png" />');
        }
        if ('#state#' == '0' || '#state#' == 0) {
           $('#iconCmd#id#').append('<img style="height:' + imgHeight + 'px;width:' + imgWidth + 'px;"  src="plugins/widget/core/template/dashboard/cmd.info.binary.ouvertureIMG/' + equipImg + '_ouverte.png" />');
        }
    
    </script>
  
</div>

Re: Mise à jour des widgets du core pour la V3

Publié : 25 mars 2019, 18:54
par mortyre
Je vais tester celui de Salvialf pour voir si cela fonctionne. Le tient s'appelle comment ?

Re: Mise à jour des widgets du core pour la V3

Publié : 25 mars 2019, 18:56
par JAG
mortyre a écrit :
25 mars 2019, 18:54
Je vais tester celui de Salvialf pour voir si cela fonctionne. Le tient s'appelle comment ?
Salut
Il s'appelle "Fenêtre-IMG"

Re: Mise à jour des widgets du core pour la V3

Publié : 27 mars 2019, 12:57
par raphael_malin
JAG a écrit :
25 mars 2019, 18:04
@raphael_malin

Salut,
je viens d'essayer de faire le modif du widget mais je ne suis pas sur a tester

Code : Tout sélectionner

<div style="width:65px;min-height:70px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" title="#collectDate#">   
  <div style="font-weight: bold;font-size : 12px;#hideCmdName#" class='cmdName'>#name_display#</div>
  <center>
    	<span class="iconCmd"></span>
    </center>
    <script>
      jeedom.cmd.update['#id#'] = function(_options){
      		// 0 arretée
      		// 1 allumée
      		// 2 en charge 
      		// 3 délestée
      		// 4 alerte 
		
        	// Options de personnalisation avec valeur par defaut
              		var srcImgURL 		= '/PERSO/widget/Leds/';
          		// Variable Image
          			var srcPictureID; 
          	// Update
			var State = parseFloat(_options.display_value);	
                    if (State == '0'|| State == 0) {
                        srcPictureID = "Led_grise.png";
                    } else if (State == '1'|| State == 1) {
                        srcPictureID = "Led_verte.png";
                    } else if (State == '2'|| State == 2) {
                        srcPictureID = "Led_jaune.png";
                    } else if (State == '3'|| State == 3) {
                        srcPictureID = "Led_orange.png";
                    } else if (State == '4'|| State == 4) {
                        srcPictureID = "Led_rouge2.gif";
                    } else {
                      	srcPictureID = "Led_grise.png";
                    }          
			// Update IMG
                    $('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img src="'+srcImgURL +srcPictureID+ '" >');
		     		$('.cmd[data-cmd_id=#id#]').attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate);
		}
		jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});  
    </script>
</div>
bonne soirée
Hello,

Je viens d'intégrer ta modification, mais il ne se passe rien.
Petit détail, je me sers de ce widget sur mon design, et depuis la mise à jour toutes les leds sont grises. Même en actualisant cela ne met pas à bonne couleur, contrairement au 1er que tu m'as fait ou il fallait actualiser manuellement pour le changement de couleur.

Donc peut-être que ta modif fonctionne, mais j'ai un couac ailleurs.
Merci les modif.

Re: Mise à jour des widgets du core pour la V3

Publié : 27 mars 2019, 13:31
par Salvialf
guims78 a écrit :
25 mars 2019, 14:41
J'ai aussi, mais quand on va dans la personnalisation du code, là on l'on peut personnaliser le Dashboard, le Design, le Mobile, ...
quand on fait "+", c'est vide, il n'y a plus le code d'origine.

Est-ce normale avec la V3.19 ???
J'ai remarqué ça aussi sur mon Jeedom de DEV et ça commence à devenir ennuyeux... avec les widgets core le code apparait bien en personnalisation et les cases sont vides dès que c'est un widget autre.

As-tu eu plus d'infos de ton côté? Sais-tu si ce dysfonctionnement a été remonté ?

Re: Mise à jour des widgets du core pour la V3

Publié : 27 mars 2019, 17:13
par fishes
salut à tous

j'ai repris depuis peu l'ensemble de mes widgets (en V3 mais un widget par fonction) pour les regrouper en utilisant la base de Salvialf et les 2-3 widgets de JAG pouvant être utilisés à plusieurs "sauces". (alarme status pour les infos, alarme activation pour les interrupteurs à retour d'etat, multi ouvrants, etc...)

tout d'abord un grand merci à vous deux

il me reste deux trois widgets à regrouper d'où deux idées ou suggestions de ma part :
1.
Sur alarme status et alarme activation : ajouter deux variables srcImglogoON_type et srcImglogoOFF_type permettant au final de choisir entre un png ou un gif ou autre...
je pense réussir à le faire (je m'y colle ce soir certainement) mais s'agissant du code de JAG, je souhaitait tout de même te le suggérer pour voir si tu préfères prendre la main sur le sujet.


2.
faire un widget alarme status non pas binaire mais numérique avec possibilité d'avoir plusieurs état. (j'en ai fait un pour 3 états) ça marche nickel, je vous le poste en dessous... perso je l'utilise pour les états off, on, défaut (0, 1, 2)

Code : Tout sélectionner

<div style="padding:0;min-width:50px;min-height:40px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="binary" data-cmd_id="#id#" data-cmd_uid="#uid#" data-eqLogic_id="#eqLogic_id#" data-eqLogic_id="#eqLogic_id#" title="#collectDate#">
	<!-- Info Widget
		Basé sur les widget de 	: ksoul78 / jimmy / snow51
		Mise à jour 			: JAG 20190317 : ajout centrer widget (merci à Antoinekl1)
		Modif info numérique 3 positions : Fishes 20190325
	-->
	<center>
	<div class="row">
		<center>
		<div class="cmdName" id="cmdName#id#" style="font-weight: bold;font-size : 12px; #hideCmdName#;">#name_display#</div>
          <div class="iconCmd#uid#"></div>
		</center>
	</div>
	</center>
	<script>
		jeedom.cmd.update['#id#'] = function(_options){
          	 // Options de personnalisation avec valeur par defaut 
               // Paramètrage du logo
                  // Valeur pour ON ou 1
                      var srcImglogoON	= ('#logoON#'!='#'+'logoON#') ? "#logoON#" : "EnCours";
          		  // Valeur pour DEFAUT ou 2
                      var srcImglogoDEFAUT	= ('#logoDEFAUT#'!='#'+'logoDEFAUT#') ? "#logoDEFAUT#" : "Probleme";
                  // Valeur pour OFF ou 0
                      var srcImglogoOFF	= ('#logoOFF#'!='#'+'logoOFF#') ? "#logoOFF#" : "Arret";
               // Paramètre "sizehw" : à déclarer en pixels - 80 maxi
                      var srcImgHeight 	= (is_numeric('#sizeh#')) ? parseFloat('#sizeh#') : 80;
                      var srcImgWidth	= (is_numeric('#sizew#')) ? parseFloat('#sizew#') : 80;
              // Paramétrage des images
                      var srcImgURL 	= 'plugins/widget/core/template/dashboard/cmd.info.numeric.Arret_Marche_Defaut/';
                      var srcImgDefaut 		= srcImgURL + srcImglogoDEFAUT +'.png'; 	// Pour Valeur = 2
          			  var srcImgOn 		= srcImgURL + srcImglogoON +'.png'; 			// Pour Valeur = 1
                      var srcImgOff 	= srcImgURL + srcImglogoOFF +'.png';  			// Pour valeur = 0   
          
			$(".iconCmd#uid#").empty();
			if (parseInt(_options.display_value) == 2) {
				$(".iconCmd#uid#").append('<img src="'+srcImgDefaut+'" style="height:' + srcImgHeight +'px;width:' + srcImgWidth +'px;">');
			 } 
          	else if (parseInt(_options.display_value) == 1){
				$(".iconCmd#uid#").append('<img src="'+srcImgOn+'" style="height:' + srcImgHeight +'px;width:' + srcImgWidth +'px;">');
            } 
          	else {
				$(".iconCmd#uid#").append('<img src="'+srcImgOff+'" style="height:' + srcImgHeight +'px;width:' + srcImgWidth +'px;">');
			}
			$('.cmd[data-cmd_id=#id#]').attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate);
		}
		jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
	</script>
</div>
voila je poste cela en me disant que mon besoin peut être aussi le besoin de qqn d'autre...
encore merci pour le boulot j'ai supprimé 12 widgets différents !!! :D

@+

Re: Mise à jour des widgets du core pour la V3

Publié : 27 mars 2019, 17:22
par JAG
Salut
Ok pour la remarque du point 1, je vais voir pour le faire assez rapidement

Pour le point 2, je pense qu'il faut que je créé un nouveau widget car je ne peux changer la catégorie "numérique" ou "binaire" sur le market

@+

Re: Mise à jour des widgets du core pour la V3

Publié : 27 mars 2019, 19:50
par Fabrice
Bonjour à tous,

J'utilise un Widget que je ne sais pas remplacer par autre chose.
C'est : dashboard.action.slider.Checkbox Jours (visible dans le Market du plugin Widget).

Une personne du forum à su corriger ce plugin (j'ai le code qui est ok en version 3.3.19).

Question : L'un d'entre vous, peut-il mettre à jour ce Widget sur le Market ?

Code : Tout sélectionner

Code : 0
Message : Vous n'êtes pas autorisé à publier des plugins sur le market. Merci d'aller sur votre page profils pour savoir comment être autorisé

Re: Mise à jour des widgets du core pour la V3

Publié : 27 mars 2019, 19:59
par Salvialf
Salut @Fabrice,

Ça m'intéresse je suis à fond sur les slider/curseurs de type checkbox en ce moment. J'en ai même codé un de mes petites mimines il y a quelques jours !

Re: Mise à jour des widgets du core pour la V3

Publié : 27 mars 2019, 20:29
par Fabrice
Voici le code qui fonctionne (je n'en suis pas l'auteur) :

Code : Tout sélectionner

<div style="width:100%;min-height:20px;" class="cmd tooltips cmd-widget cursor" data-type="action" data-subtype="other" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
    <center>
        <span style="font-size : 21px; font-weight: standard; #hideCmdName#">#valueName#</span>
        <span style="font-size: 1.5em; font-weight: bold;margin-top: 5px;" class="iconCmd"></span>
    </center>
<!-- Ne Pas Supprimer -->
    <script class="createWidgetInfo" type="text/javascript">//<![CDATA[{"type":"0","version":"1","size":"2.5","icon1":"<i class='icon jeedom2-case_ok'></i>","icon2":"<i class='icon jeedom2-case'></i>"}]]></script>
<!-- Ne Pas Supprimer -->
    <script>
        jeedom.cmd.update['#id#'] = function(_options){
            if (_options.display_value == '1' || _options.display_value >= 1 || _options.display_value == 'on') {
            if (jeedom.cmd.normalizeName('#name#') == 'on') {
                    $('.cmd[data-cmd_id=#id#]').hide();
                }else{
                    $('.cmd[data-cmd_id=#id#]').show();
                    $('.cmd[data-cmd_id=#id#] .iconCmd').empty().append('<i class="icon jeedom2-case_ok"></i>');
                    $('.cmd[data-cmd_uid=#uid#] .iconCmd').attr('data-state', 'on');
            }
        } else {
            if (jeedom.cmd.normalizeName('#name#') == 'off') {
                    $('.cmd[data-cmd_id=#id#]').hide();
                }else{
                    $('.cmd[data-cmd_id=#id#]').show();
                    $('.cmd[data-cmd_id=#id#] .iconCmd').empty().append('<i class="icon jeedom2-case"></i>');
                    $('.cmd[data-cmd_uid=#uid#] .iconCmd').attr('data-state', 'off');
                }
            }
        }
        jeedom.cmd.update['#id#']({display_value:'#state#'});
        $('.cmd[data-cmd_uid=#uid#] .iconCmd').off().on('click', function () {
            if ($(this).attr('data-state') == 'on') {
                jeedom.cmd.execute({id: '#id#', value: {slider: 0}});
            } else {
                jeedom.cmd.execute({id: '#id#', value: {slider: 99}});
            }
        });
    </script>
</div>
J'aurais souhaité remplacer celui qui ne fonctionne pas (non maintenu) par ce code là.