Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Le groupe des Helpers est present pour vous aidez, n'hésitez pas à poser des questions ;)

Toute la communauté vous remercie

/!\ L’ancien forum passera en lecture seule en janvier 2020 (Si community a bien pris le relais) puis nous le fermerons définitivement en janvier 2021./!\
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

Mise à jour des widgets du core pour la V3

Réservé à l'utilisation et la création de widgets dans JEEDOM
Avatar de l’utilisateur
domoggvad
Actif
Messages : 1876
Inscription : 29 avr. 2015, 16:02
Localisation : Seine-Saint-Denis (Villepinte)

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

Message par domoggvad » 23 mars 2019, 16:06

Salut JAG
As tu réussi tes différents widget?
Merci

Envoyé de mon Redmi S2 en utilisant Tapatalk

3 Odroid C2 (Prod - secours - test) Z83 tests: rfxcom + Z-wave- Clims DAIKIN - espeasy - thekey - Xiaomi - Telinfo - broadlink... widget V3 :viewtopic.php?f=29&t=44183&p=717810#p717810

Avatar de l’utilisateur
JAG
Actif
Messages : 581
Inscription : 21 mai 2016, 11:10

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

Message par JAG » 23 mars 2019, 19:21

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
Box : Jeedom Smart + Jeedom VM-Synology (avec Jeedom en beta)
Protocoles : Z-wave - RFXcom - Hue - Bluetooth - Xiaomi
Mon Matériel
Widgets développés

raphael_malin
Timide
Messages : 481
Inscription : 10 nov. 2014, 00:20
Localisation : Nouméa - Nouvelle-Calédonie

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

Message par raphael_malin » 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>
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
Jeedom smart avec en général toutes les mises à jour faites (système et plugin)

Avatar de l’utilisateur
JAG
Actif
Messages : 581
Inscription : 21 mai 2016, 11:10

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

Message par JAG » 24 mars 2019, 09:09

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>
Box : Jeedom Smart + Jeedom VM-Synology (avec Jeedom en beta)
Protocoles : Z-wave - RFXcom - Hue - Bluetooth - Xiaomi
Mon Matériel
Widgets développés

raphael_malin
Timide
Messages : 481
Inscription : 10 nov. 2014, 00:20
Localisation : Nouméa - Nouvelle-Calédonie

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

Message par raphael_malin » 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 ! ;)
Jeedom smart avec en général toutes les mises à jour faites (système et plugin)

guims78
Timide
Messages : 488
Inscription : 30 sept. 2017, 13:00

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

Message par guims78 » 25 mars 2019, 12:04

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 ?

i-magin
Actif
Messages : 979
Inscription : 18 août 2015, 10:23
Localisation : Villeurbanne

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

Message par i-magin » 25 mars 2019, 12:25

@guims78, j'ai bien les "Paramètres optionnels widget"
Jeedom RC V4.0.20
* DIY NUC 6I5SYK (Crucial 16GB Kit (8GBx2) DDR4 2133 MT/s) * Contrôleur Z-Wave AEOTEC GEN5 *
* VMWare ESXi 6.5.0 Update 2 Build 8294253 * VM Jeedom Debian 9.5 avec 1 CPU/4 Go de mémoire * PHP 7.0.30-0 * Clé USB : SENA UD100

guims78
Timide
Messages : 488
Inscription : 30 sept. 2017, 13:00

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

Message par guims78 » 25 mars 2019, 14:41

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 ???

Avatar de l’utilisateur
JAG
Actif
Messages : 581
Inscription : 21 mai 2016, 11:10

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

Message par JAG » 25 mars 2019, 18:04

@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
Box : Jeedom Smart + Jeedom VM-Synology (avec Jeedom en beta)
Protocoles : Z-wave - RFXcom - Hue - Bluetooth - Xiaomi
Mon Matériel
Widgets développés

mortyre
Actif
Messages : 1230
Inscription : 17 mai 2016, 16:51

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

Message par mortyre » 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>
PROD: NAS1815+ VMM Strech 9.11 / Jeedom 3.33 / MariaDB 10.1.26 / PHP 7.0.33
DEV: DIY Odroid C2 16gb Strech 9.11 / Jeedom 4.x Alpha / MariaDB 10.1.41 / PHP 7.0.33

Avatar de l’utilisateur
JAG
Actif
Messages : 581
Inscription : 21 mai 2016, 11:10

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

Message par JAG » 25 mars 2019, 18:22

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>
Box : Jeedom Smart + Jeedom VM-Synology (avec Jeedom en beta)
Protocoles : Z-wave - RFXcom - Hue - Bluetooth - Xiaomi
Mon Matériel
Widgets développés

mortyre
Actif
Messages : 1230
Inscription : 17 mai 2016, 16:51

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

Message par mortyre » 25 mars 2019, 18:54

Je vais tester celui de Salvialf pour voir si cela fonctionne. Le tient s'appelle comment ?
PROD: NAS1815+ VMM Strech 9.11 / Jeedom 3.33 / MariaDB 10.1.26 / PHP 7.0.33
DEV: DIY Odroid C2 16gb Strech 9.11 / Jeedom 4.x Alpha / MariaDB 10.1.41 / PHP 7.0.33

Avatar de l’utilisateur
JAG
Actif
Messages : 581
Inscription : 21 mai 2016, 11:10

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

Message par JAG » 25 mars 2019, 18:56

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"
Box : Jeedom Smart + Jeedom VM-Synology (avec Jeedom en beta)
Protocoles : Z-wave - RFXcom - Hue - Bluetooth - Xiaomi
Mon Matériel
Widgets développés

raphael_malin
Timide
Messages : 481
Inscription : 10 nov. 2014, 00:20
Localisation : Nouméa - Nouvelle-Calédonie

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

Message par raphael_malin » 27 mars 2019, 12:57

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.
Jeedom smart avec en général toutes les mises à jour faites (système et plugin)

Avatar de l’utilisateur
Salvialf
Helper
Messages : 1317
Inscription : 24 févr. 2018, 09:37
Contact :

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

Message par Salvialf » 27 mars 2019, 13:31

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é ?
VM Jeedom 3.2.16 sous Proxmox 5.4 sur NUC5i5RYH (Debian 9.9)
Helper Officiel Jeedom
Widgets développés
Téléchargement d'icônes domotique (Topic Forum)

fishes
Timide
Messages : 67
Inscription : 10 nov. 2017, 09:45
Localisation : Brumath (67)

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

Message par fishes » 27 mars 2019, 17:13

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

@+

Avatar de l’utilisateur
JAG
Actif
Messages : 581
Inscription : 21 mai 2016, 11:10

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

Message par JAG » 27 mars 2019, 17:22

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

@+
Box : Jeedom Smart + Jeedom VM-Synology (avec Jeedom en beta)
Protocoles : Z-wave - RFXcom - Hue - Bluetooth - Xiaomi
Mon Matériel
Widgets développés

Avatar de l’utilisateur
Fabrice
Modérateur
Messages : 3385
Inscription : 27 oct. 2016, 22:26
Localisation : Planète terre, IDF, 93

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

Message par Fabrice » 27 mars 2019, 19:50

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é
Helper Officiel Jeedom
- Jeedom : 3.3.32
- Protocole : Z-Wave / RFXcom / BLEA
- Raspberry Pi : Pi 3 B+ / Pi 3 B / Pi Zero W

Avatar de l’utilisateur
Salvialf
Helper
Messages : 1317
Inscription : 24 févr. 2018, 09:37
Contact :

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

Message par Salvialf » 27 mars 2019, 19:59

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 !
VM Jeedom 3.2.16 sous Proxmox 5.4 sur NUC5i5RYH (Debian 9.9)
Helper Officiel Jeedom
Widgets développés
Téléchargement d'icônes domotique (Topic Forum)

Avatar de l’utilisateur
Fabrice
Modérateur
Messages : 3385
Inscription : 27 oct. 2016, 22:26
Localisation : Planète terre, IDF, 93

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

Message par Fabrice » 27 mars 2019, 20:29

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à.
Helper Officiel Jeedom
- Jeedom : 3.3.32
- Protocole : Z-Wave / RFXcom / BLEA
- Raspberry Pi : Pi 3 B+ / Pi 3 B / Pi Zero W

Répondre

Revenir vers « [Plugin officiel] Widgets »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité