Page 5 sur 18

Re: Widget en V4

Publié : 05 sept. 2019, 15:22
par loic
C'est ca soit un widget code (ce que nous déconseillons mais vous pouvez toujours le faire), soit passer par le systeme de template

Et non pour le moment la partie code est pas userfriendly (c'est pour être franc plus ou moins volontaire pour encourager le passage sur template)

Re: Widget en V4

Publié : 05 sept. 2019, 15:25
par larod241
Tu peux tout à fait créer un widget via l'outil.
Il ne faut juste pas créer un widget dans l'outil et un via code portant le même nom comme l'a précisé Loic.

Pour ma part, je passe que par l'outil de création qui me convient pour l'instant, et mis à part la taille des images (qui va être corrigé dans la prochaine release) c'est parfait.

Re: Widget en V4

Publié : 05 sept. 2019, 15:37
par Antoinekl1
larod241 a écrit :
05 sept. 2019, 15:25
Tu peux tout à fait créer un widget via l'outil.
Il ne faut juste pas créer un widget dans l'outil et un via code portant le même nom comme l'a précisé Loic.

Pour ma part, je passe que par l'outil de création qui me convient pour l'instant, et mis à part la taille des images (qui va être corrigé dans la prochaine release) c'est parfait.
oui j'ai bien compris maitenant :-)

mais je trouve dommage de ne pas avoir une entrée dans l'outil même avec l'usage d'un code perso, ce serait plus simple pour le suivi

là tu te retrouves avec des widgets avec template dans l'outil
et des widgets code utilisés ou pas dans code

il faudrait mieux garder le fonctionne de l'ancien plugin et avoir une entrée pour tous les widgets dans l'outil

Re: Widget en V4

Publié : 05 sept. 2019, 15:39
par loic
Ok je le note voir si on l'ajoutera en 4.1

Re: Widget en V4

Publié : 05 sept. 2019, 15:39
par Antoinekl1
loic a écrit :
05 sept. 2019, 15:39
Ok je le note voir si on l'ajoutera en 4.1
merki ;-)

et lors de la migration, quand tu récupères les codes des widgets du plugin vers la nouvelle arbo, tu ne pourrais pas faire la modification des répertoires ? : plugins/widget/core/template/dashboard => data/customTemplate/dashboard

quoi j'abuse ;-)

Re: Widget en V4

Publié : 05 sept. 2019, 16:08
par loic
Non ca risque de faire beaucoup de merde

Re: Widget en V4

Publié : 05 sept. 2019, 16:08
par Antoinekl1
j'ai encore loupé un truc ?

Re: Widget en V4

Publié : 05 sept. 2019, 16:17
par loic
Non la ca semble ok, as tu bien vider le cache widget ?

Re: Widget en V4

Publié : 05 sept. 2019, 17:54
par Titom59
Salut j'essaie de créer un widget multistate mais je ne comprend pas ce qu'il faut mettre dans la partie value, en l'occurrence je souhaite reprend un widget pour l'aspirateur robot qui a comme statut info (en charge, en pause... Etc) mais quand j'écris en charge par exemple avec l'image approprié, le widget ne s'affiche pas. Comment doit-on écrit la valeur exactement ?


Envoyé de mon ONEPLUS A5010 en utilisant Tapatalk



Re: Widget en V4

Publié : 05 sept. 2019, 18:01
par loic
La capture est pas lisible....

Re: Widget en V4

Publié : 05 sept. 2019, 18:51
par Titom59
En gros c'est dans la partie test

Re: Widget en V4

Publié : 05 sept. 2019, 19:01
par loic
Ben dans test tu mets #value# == "toto" et si c'est vrai alors il affichera l'icône mise dans resultat si c'est ok

Re: Widget en V4

Publié : 05 sept. 2019, 19:05
par Antoinekl1
loic a écrit :Non la ca semble ok, as tu bien vider le cache widget ?
Oui

Re: Widget en V4

Publié : 05 sept. 2019, 19:08
par Titom59
loic a écrit :Ben dans test tu mets #value# == "toto" et si c'est vrai alors il affichera l'icône mise dans resultat si c'est ok
Après un vidage du cache ça fonctionne merci, en affichage mobile j'ai un bonne taille d'image par contre version desktop l'image est toute petite.

Envoyé de mon ONEPLUS A5010 en utilisant Tapatalk


Re: Widget en V4

Publié : 05 sept. 2019, 19:12
par loic
Ça sera configurable en 4.0.10

Re: Widget en V4

Publié : 05 sept. 2019, 19:12
par Titom59
loic a écrit :Ça sera configurable en 4.0.10
OK top un grand merci

Envoyé de mon ONEPLUS A5010 en utilisant Tapatalk


Re: Widget en V4

Publié : 05 sept. 2019, 19:13
par loic
Antoinekl1 a écrit :
05 sept. 2019, 19:05
loic a écrit :Non la ca semble ok, as tu bien vider le cache widget ?
Oui
Faudrait regarder dans la console du navigateur alors pour comprendre d'où ça vient

Re: Widget en V4

Publié : 05 sept. 2019, 21:20
par larod241
loic a écrit :
05 sept. 2019, 19:12
Ça sera configurable en 4.0.10
Extra !! Merci Loic pour ta diligence !

Re: Widget en V4

Publié : 06 sept. 2019, 09:14
par Antoinekl1
loic a écrit :
05 sept. 2019, 19:13
Antoinekl1 a écrit :
05 sept. 2019, 19:05
loic a écrit :Non la ca semble ok, as tu bien vider le cache widget ?
Oui
Faudrait regarder dans la console du navigateur alors pour comprendre d'où ça vient
j'ai retesté ce matin ,relance de la mini+, toujours pas d'image, j'active le F12, l'image s'affiche...

j'ai compris, dans le lien que tu m'avais données, il manquait le s à customTemplates
et hier avant d'arrêter la mini, j'avais fait un copier/coller du repertoire que j'avais récupéré d'une session SSH, j'avais du tester mais sans vider le cache

Re: Widget en V4

Publié : 06 sept. 2019, 09:39
par Antoinekl1
bonjour à tous

j'ai un soucis avec mon widget pour l'affichage du thermostat NETATMO

j'ai une commande info/autre qui contient : #[Thermostat][Salon][Consigne]#,#[Thermostat][Salon][Température]#,#[Thermostat][Salon][Statut pour mobile]#,#[Thermostat][Salon][Mode]#,#[Thermostat][Salon][Batterie]#,#[Thermostat][Salon][Signal Wifi]#

voici le code :

Code : Tout sélectionner

<div style="padding:0px; width:150px; height:180px;" class="cmd #history# container-fluid tooltips cmd-widget netatmodisplay" data-type="info" data-version="#version#" data-eqLogic_id="#eqLogic_id#" data-subtype="other" data-cmd_id="#id#" data-cmd_uid="#uid#">
<div style="position:relative; height:100px">
   <div style="position:absolute;z-index:1">
      <img src="data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/fondnetatmo.png" width="150px" />
   </div>
   <div class="value-consigneent#id#"></div>
   <div class="value-consigneoff#id#"></div>
  <div class="value-consignedec#id#" style=""></div>
   <div class="value-temperatureent#id#"></div>
  <div class="value-temperaturedec#id#" style=""></div>
  <marquee class="programmedefile#id#" style="color:black; position:absolute;top:145px;left:10px; width:130px; height:180px; z-index:2; font-size:12px"></marquee>
  <div class="programmefixe#id#" style="color:black; position:absolute;top:145px;left:10px; width:130px; height:180px; z-index:2; font-size:12px"></div>
  <img class="IMGmode#id#" src="data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/manual.png" />
  <img class="IMGbatterie#id#" src="data/customTemplates/dashboard/dashboard/cmd.info.string.Netatmo_therminfo/battery_min.png" />
  <img class="IMGwifi#id#" src="data/customTemplates/dashboard/dashboard/cmd.info.string.Netatmo_therminfo/wifi_null.png" />
</div>
 	 <style>
		@font-face {
    		font-family: "Square";
    		src:  url("data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/Square.ttf") format("truetype");
    		font-weight:normal;
    		font-style:normal;
		}
 		img.IMGmode#id# {
			width:30px;
          	height:30px;
			position:absolute;
          	top:45px;
       		left:15px;
          	z-index:2;
	  	}
       
 		img.IMGbatterie#id# {
			width:25px;
          	height:10px;
			position:absolute;
          	top:45px;
       		left:115px;  
          	z-index:2; 
	  	}    
       
  		img.IMGwifi#id# {
			width:25px;
          	height:20px;
			position:absolute;
          	top:65px;
       		left:115px;          
          	z-index:2; 
	  	} 
       
		div.value-consigneent#id# {
		    font-family: "Square"; 
          	font-size:40px;
          	font-weight:bold; 
			position:absolute;
          	top:7px;
       		left:3px;          
          	width:150px;
          	height:180px;
          	z-index:2;          
		    letter-spacing: 2px;
		    color: 	white;
	  	}
       
		div.value-consigneoff#id# {
		    font-family: "Square"; 
          	font-size:30px;
          	font-weight:bold; 
			position:absolute;
          	top:15px;
       		left:5px;          
          	width:150px;
          	height:180px;
          	z-index:2;          
		    letter-spacing: 2px;
		    color: 	white;
	  	}
       
    	div.value-consignedec#id# {
		    font-family: "Square"; 
          	font-size:12px;
          	position:absolute;
          	top:15px;
          	width:150px;
          	height:180px;
          	z-index:2;          
		    letter-spacing: 2px;
		    color: 	white;
	  	}
       
    	div.value-temperatureent#id# {
		    font-family: "Square"; 
          	font-size:60px;
          	font-weight:bold; 
            position:absolute;
            top:105px; 
            width:150px; 
            height:180px; 
            z-index:2;    
		    letter-spacing: 2px;
		    color: 	black;
	  	}
    
        div.value-temperaturedec#id# {
		    font-family: "Square"; 
          	font-size:18px;
          	font-weight:bold;
            position:absolute;
            top:118px;
            width:150px;
            height:180px;
            z-index:2;       
		    letter-spacing: 2px;
		    color: 	black;
	  	}
       
 	 </style>    
	<script>       
		  jeedom.cmd.update['#id#'] = function(_options){ 
            	// Récupération des valeurs
              	var state = _options.display_value;
				var stateListe = state.split(",");			
				var consigne = stateListe[0];
  				var temperature = stateListe[1];
                var programme_origine = stateListe[2].replace("\"","");
           	    var programme = programme_origine.replace("\"","");
                var mode_origine = stateListe[3].replace("\"","");
                var mode =  mode_origine.replace("\"","");
                var batterie = stateListe[4];
                var wifi = stateListe[5];
                var debug = "";
            
                // TEMPERATURE
            	debug += " - temperature:"+temperature;
   				var temperatureent = Math.trunc(temperature);
           		var temperaturedec = Math.round(temperature*10-temperatureent*10);
                if ( temperature < 10 ) {
                   	$('.cmd[data-cmd_uid=#uid#] .value-temperatureent#id#').text("0"+temperatureent);
                } else {
                    $('.cmd[data-cmd_uid=#uid#] .value-temperatureent#id#').text(temperatureent);
                }
                if ( temperatureent == 11 ) {
                	$('.cmd[data-cmd_uid=#uid#] .value-temperaturedec#id#').empty().attr('style', 'left:20px;');
                } else if ( temperatureent == 21 || temperatureent == 31 ) {
                    $('.cmd[data-cmd_uid=#uid#] .value-temperaturedec#id#').empty().attr('style', 'left:31px;');
                } else if ( temperatureent >= 10 && temperatureent < 20 ) {
                	$('.cmd[data-cmd_uid=#uid#] .value-temperaturedec#id#').empty().attr('style', 'left:31px;');        
                } else {    
                    $('.cmd[data-cmd_uid=#uid#] .value-temperaturedec#id#').empty().attr('style', 'left:42px;');  
                }
           		$('.cmd[data-cmd_uid=#uid#] .value-temperaturedec#id#').text(temperaturedec);
            
      			// CONSIGNE
            	debug += " - consigne:"+consigne;
      			if ( consigne == 1 ) {
	               	$('.cmd[data-cmd_uid=#uid#] .value-consigneoff#id#').html("OFF");
	 	            $('.cmd[data-cmd_uid=#uid#] .value-consigneent#id#').hide();
		            $('.cmd[data-cmd_uid=#uid#] .value-consignedec#id#').hide();
	            } else {
	            	var consigneent = Math.trunc(consigne);
	            	var consignedec = Math.round(consigne*10-consigneent*10);
                    if ( consigne < 10 ) {
                   		$('.cmd[data-cmd_uid=#uid#] .value-consigneent#id#').html("0"+consigneent);
                    } else {
                      	$('.cmd[data-cmd_uid=#uid#] .value-consigneent#id#').html(consigneent);
                    }
	               	$('.cmd[data-cmd_uid=#uid#] .value-consigneoff#id#').hide();              
                    if ( consigneent == 11 ) {
                     	$('.cmd[data-cmd_uid=#uid#] .value-consignedec#id#').empty().attr('style', 'left:20px;');  
					} else if ( consigneent == 21 || consigneent == 31 ) {	
                		$('.cmd[data-cmd_uid=#uid#] .value-consignedec#id#').empty().attr('style', 'left:25px;');  
                    } else if ( consigneent >= 10 && consigneent < 20 ) {
                		$('.cmd[data-cmd_uid=#uid#] .value-consignedec#id#').empty().attr('style', 'left:27px;');
                	} else {    
	                    $('.cmd[data-cmd_uid=#uid#] .value-consignedec#id#').empty().attr('style', 'left:31px;');  
	                }
		            $('.cmd[data-cmd_uid=#uid#] .value-consignedec#id#').html(consignedec);
	            }
      
      			// BATTERIE
                debug += " - batterie:"+batterie;
                if ( batterie > 99 ) $('.cmd[data-cmd_uid=#uid#] .IMGbatterie#id#').empty().attr('src', 'data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/battery_full.png');        
                else if ( batterie > 75  ) $('.cmd[data-cmd_uid=#uid#] .IMGbatterie#id#').empty().attr('src', 'data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/battery_big.png');        
				else if ( batterie > 50  ) $('.cmd[data-cmd_uid=#uid#] .IMGbatterie#id#').empty().attr('src', 'data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/battery_medium.png');        
				else if ( batterie > 25  ) $('.cmd[data-cmd_uid=#uid#] .IMGbatterie#id#').empty().attr('src', 'data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/battery_small.png');        
 				else if ( batterie > 0  ) $('.cmd[data-cmd_uid=#uid#] .IMGbatterie#id#').empty().attr('src', 'data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/battery_min.png');        
                else  $('.cmd[data-cmd_uid=#uid#] .IMGbatterie').hide();   
      
      			// WIFI
                debug += " - wifi:"+wifi;
                if ( wifi > 80 ) $('.cmd[data-cmd_uid=#uid#] .IMGwifi#id#').empty().attr('src', "data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/wifi_max.png");
                else if ( wifi > 50  ) $('.cmd[data-cmd_uid=#uid#] .IMGwifi#id#').empty().attr('src', "data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/wifi_high.png");
				else if ( wifi > 20  ) $('.cmd[data-cmd_uid=#uid#] .IMGwifi#id#').empty().attr('src', "data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/wifi_medium.png");
 				else if ( wifi > 0  ) $('.cmd[data-cmd_uid=#uid#] .IMGwifi#id#').empty().attr('src', "data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/wifi_null.png");
                else $('.cmd[data-cmd_uid=#uid#] .IMGwifi').hide();                

      
      			// MODE
                debug += " - mode:"+mode;
 				if ( mode == "Off" ) $('.cmd[data-cmd_uid=#uid#] .IMGmode#id#').empty().attr('src', "data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/manual.png");
                else if ( mode == "Manuel" ) $('.cmd[data-cmd_uid=#uid#] .IMGmode#id#').empty().attr('src', "data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/manual.png");
      			else if ( mode == "Programme") $('.cmd[data-cmd_uid=#uid#] .IMGmode#id#').empty().attr('src', "data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/schedule.png");
				else if ( mode == "away" ) $('.cmd[data-cmd_uid=#uid#] .IMGmode#id#').empty().attr('src', "data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/away.png");
				else if ( mode == "hg" ) $('.cmd[data-cmd_uid=#uid#] .IMGmode#id#').empty().attr('src', "data/customTemplates/dashboard/cmd.info.string.Netatmo_therminfo/hg.png");
                else $('.cmd[data-cmd_uid=#uid#] .IMGmode').hide();
      
                 // PROGRAMME
                 debug += " - programme:"+programme;
                 var programme_taille = programme.length;
            	debug += " - taille:"+programme_taille;
            	//$('.cmd[data-cmd_id=#id#] .programmefixe').text(debug);
            	$('.cmd[data-cmd_uid=#uid#] .programmedefile#id#').text(programme)
                 if ( programme_taille < 25 ) {
                 	$('.cmd[data-cmd_uid=#uid#] .programmedefile#id#').hide(); 
            		$('.cmd[data-cmd_uid=#uid#] .programmefixe#id#').text(programme);
 				} else {
                    $('.cmd[data-cmd_uid=#uid#] .programmedefile#id#').text(programme);
                 	$('.cmd[data-cmd_uid=#uid#] .programmefixe#id#').hide();
                }
      					
			$('.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>
l'affichage DASHBOARD est OK mais pas sur le design, la valeur de la température ne s'affiche pas

une idée du problème ?