Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[WIDGET] Tuto Widget affichage Température

Réservé à l'utilisation et la création de widgets dans JEEDOM
Répondre
RobertDuval
Timide
Messages : 16
Inscription : 17 févr. 2018, 04:50
Localisation : Haut de France

[WIDGET] Tuto Widget affichage Température

Message par RobertDuval » 04 mars 2018, 04:48

Bonjour,

Tout nouveau sur Jeedom, je souhaite partager avec vous un petit widget pour l'affichage d'une image concernant la température. C'est également valable pour l'affichage de l'humidité ou toute autre info numérique, il suffira d'adapter les images et le code. Je suppose que certains post proposent déjà le même type de code, je ne voudrais pas passer pour l'inventeur de la roue, je vous propose seulement un code corrigé et testé, prêt à l'emploi avec les images qui vont avec, et que vous pourrez mettre en oeuvre en moins de 5 minutes.

Exemple de résultat :

ImageImageImageImage

Comme vous le voyez, les thermomètres affichés sont différents suivant la température, j'ai fixé arbitrairement des plages de températures, que vous pourrez modifier suivant vos besoins. Je joins également les images utilisées et modifiées dans Photoshop pour rendre les fonds transparents, les images au format PNG sont prêtes à l'emploi et doivent être transférées dans un répertoire, il faudra alors adapter le code avec le chemin de votre répertoire d'images.

Pour obtenir ce résultat, installez le plugin "Widget" (si ce n'est déjà fait) et créez en un nouveau, n'utilisez surtout pas le "Mode création facile", mais cliquez sur le bouton "Ajouter un widget", donnez lui un nom, choisissez le type "Info" et le sous-type "Numérique". Une fois créé, vous n'aurez qu'a copier (et adapter) le code (voir plus bas).

Je n'ai pas la paternité du code d'origine, mais simplement adapté et corrigé à partir de celui de @claude69 qui avait des soucis d'affichage et des problèmes de balises dans son code. L'original est dans ce lien : http://urlz.fr/6F8I

Le code est commenté afin de faciliter les modifs.

Voici le code final :

Code : Tout sélectionner

<div style="min-width:120px;min-height:80px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
    <center><span class="cmdName" style="font-weight: bold;font-size : 0.8em;width: 65px;height: 17px;overflow: hidden;position: relative;#hideCmdName#;" title="#name#">#name_display#</span></center>
    <div style="text-align:center;">
  	<div id="thermometreDivIMG#id#" class="thermometre_div_img">
        <span class="thermometre_img" id="thermometreIMG#id#"></span>
        <span class="thermometre_state" id="thermometreState#id#">#state#</span>
      	<span class="thermometre_unite" id="thermometreUnite#id#">#unite#</span>
    </div>
  	<div>
    	
      	<!-- A activer si vous voulez avoir les statistiques -->
       	<div>
          <span style="line-height:10px;font-size: 0.7em;font-weight: bold;display: inline-block;text-align: justify;#displayHistory#">
            <span title="Min" class="tooltips left">Min : </span><span style="float:right;">#minHistoryValue# #unite#</span><br/>
            <span title="Moyenne" class="tooltips">Moy: </span><span style="float:right;">#averageHistoryValue# #unite#</span><br/>
            <span title="Max" class="tooltips">Max: </span><span style="float:right;">#maxHistoryValue# #unite#</span><br/> <i class="#tendance#"></i>
          </span>
      	</div>
  	</div>
  </div>
  
  <!-- Début du script -->
   <script>
     
     /* Attributs list :
     		- position : 	position of the icon you want : left or right, by default : left
			- heightImage : 	height in pixel of image to show default is 90
            - widthImage : 	width in pixel of image to show default is 90
            - fontsizeState : state font size in px or em, default : 2em
            - fontsizeUnite : unite font size in px or em, default : 1em
			- displayState : display type allow to hide the state with none by example, by default : block
            - oneLine : display State and Unite on the same line
     */
        	var imgHeight;
     		var imgWidth;
			
			<!-- La taille réelle de votre image n'est pas importante mais doit respecter un ratio de 2.4 entre la hauteur et la largeur -->
			
            if (!isNaN(parseFloat("#heightImage#"))) {
              imgHeight = "#heightImage#";
            } else {
              imgHeight = "72"; <!-- Peut importe la taille de votre image originale, elle sera ramenée à la taille de 72Px de hauteur -->
            }
            if (!isNaN(parseFloat("#widthImage#"))) {
              imgWidth = "#widthImage#";
            } else {
              imgWidth = "30"; <!-- Peut importe la taille de votre image originale, elle sera ramenée à la taille de 30Px de Largeur -->
            }
        
			/* C'est ici que vous définissez les plages de température qui vont permettre d'afficher une image différente à chaque fois
			Vous pouvez les modifier suivant vos besoins. Pensez également à modifier le chemin du répertoire des images.
			*/
		
            if ("#state#" <= 0) {
            	$("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo10.png' class='thermometre_img' id='thermometre#id#'/>");
            }
            else if ("#state#" > 0 && "#state#" <= 6) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo20.png' class='thermometre_img' id='thermometre#id#'/>");
            }
			else if ("#state#" > 6 && "#state#" <= 12) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo30.png' class='thermometre_img' id='thermometre#id#'/>");
            }
			else if ("#state#" > 12 && "#state#" <= 18) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo40.png' class='thermometre_img' id='thermometre#id#'/>");
            }
			else if ("#state#" > 18 && "#state#" <= 25) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo50.png' class='thermometre_img' id='thermometre#id#'/>");
            }
			else if ("#state#" > 25 && "#state#" <= 30) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo80.png' class='thermometre_img' id='thermometre#id#'/>");
            }
			else if ("#state#" > 30 && "#state#" <= 40) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo90.png' class='thermometre_img' id='thermometre#id#'/>");
            }
          	else {
            	$("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo100.png' class='thermometre_img' id='thermometre#id#'/>");
        	}
          
		  
		  /* Cette partie du script ne doit pas être modifiée, 
		     sauf si vous êtes un/une spécialiste
		     Le style est géré plus bas dans le code
		  */
          if ("#position#" == "right") {
            $("#thermometreDivIMG#id#.thermometre_div_img").css("float","right"); 
             $("#thermometreIMG#id#.thermometre_img").css("margin-right","15px");
          } else {
    	  	$("#thermometreDivIMG#id#.thermometre_div_img").css("float","left");
            $("#thermometreIMG#id#.thermometre_img").css("margin-left","15px");
          }
          if (typeof "#fontsizeState#" != "undefined" && "#fontsizeState#" != "2em") {
            $("#thermometreState#id#.thermometre_state").css("height","#fontsizeState#"); 
          }
          if (typeof "#fontsizeUnite#" != "undefined" && "#fontsizeUnite#" != "1em") {
            $("thermometreUnite#id#.thermometre_unite").css("height","#fontsizeUnite#"); 
          }
          if (typeof "#displayState#" != "undefined" && "#displayState#" != "block") {
            $("#thermometreState#id#.thermometre_state").css("display","#displayState#"); 
          }
           if (typeof "#oneLine#" != "undefined" && "#oneLine#" == "on") {
             if ("#position#" == "right") {
                //$("#thermometreState#id#.thermometre_state").css("margin-left","20px"); 
             	$("#thermometreUnite#id#.thermometre_unite").css("display","block");
             	$("#thermometreUnite#id#.thermometre_unite").css("margin-top","-25px");
             	$("#thermometreUnite#id#.thermometre_unite").css("margin-right","85px");
             } else {
                $("#thermometreState#id#.thermometre_state").css("margin-right","20px"); 
             	$("#thermometreUnite#id#.thermometre_unite").css("display","block");
             	$("#thermometreUnite#id#.thermometre_unite").css("margin-top","-25px");
             	$("#thermometreUnite#id#.thermometre_unite").css("margin-left","85px");
             }
           }
    </script>
	 <!-- Fin du script -->
	
</div>

  <!-- Le code suivant gère le style et l'affichage des données, vous pouvez le modifier et faire des tests-->
<style>
 
span.thermometre_img {
  	height: 90px;
  float: left;
  }

   <!-- Gestion de l'affichage de l'image du thermomètre -->
span.thermometre_div_img {
    margin-left: 5px;
	position:relative;
    margin-top: 10px;
  	height: 64px;
  	width: 62px;
	float: left;
    display: block;
  }
  
 <!-- Gestion de l'affichage de la température -->  
span.thermometre_state {
  	font-weight: bold;
  	font-size: 2em;
  	margin-top: 10px;
    margin-left: 5px;
    float: left;
    display: block;
  }

   <!-- Gestion de l'affichage de l'unité "C°" (ou autre chose) -->
span.thermometre_unite {
  	font-size: 0.7em;
    font-weight: bold;
  	margin-top: 14px;
    margin-left: 2px;
  	top: 30px;
    float: right;
    display: block;
  }

</style>
Une fois votre Widget sauvegardé, allez dans votre objet et sélectionnez l'onglet "commandes", vous devrez aller modifier les paramètres d'affichage de la température et sélectionner l'affichage (le widget) que vous venez de créer.

ImageImage

Dans le fichier joint se trouvent les images de chaque thermomètre utilisé dans le code
THERMO1.rar
(196.76 Kio) Téléchargé 1122 fois
Mais aussi l'image vectorielle d'origine créée dans Adobe Illustrator (peut être traitée dans Photoshop).
GoalThermometer_05.rar
(395.22 Kio) Téléchargé 450 fois
l'image d'origine est libre de droit et vient du site https://fr.vecteezy.com/art-vectoriel/1 ... ermom-tres où vous trouverez de nombreuses autres images de thermomètres.

J'espère que vous pourrez créer vos propres widgets et serait content de voir vos propres adaptations

Amicalement

Robert

Loic74
Actif
Messages : 709
Inscription : 24 oct. 2017, 22:45
Localisation : Haute-Savoie
Contact :

Re: [WIDGET] Tuto Widget affichage Température

Message par Loic74 » 02 mai 2018, 09:03

Salut,
Merci pour le partage, exactement ce dont j'ai besoin en ce moment pour apprendre à créer des widgets
---------------------------------------
Jeedom v3.3.19, VM sur Synology RS1619xs+, Arduinos, ETH-IO32B, MQTT, TTN, LoRa, Service Pack Power Ultimate
Ma présentation
Ma piscine connectée
ioBoard

Avatar de l’utilisateur
Titi007
Timide
Messages : 104
Inscription : 23 févr. 2017, 16:31

Re: [WIDGET] Tuto Widget affichage Température

Message par Titi007 » 02 mai 2018, 12:53

Salut,
et merci aussi.
je découvre les widgets et ça m'aide bien..
je cherche comment on fait pour l'integrer dans les compteurs si un tuto traine ..;

fredvog
Timide
Messages : 14
Inscription : 04 févr. 2018, 16:45
Localisation : Nord

Re: [WIDGET] Tuto Widget affichage Température

Message par fredvog » 02 juin 2018, 00:08

Bonjour,

Avant tout je tiens a te remercier ainsi que tous ceux qui prennent un peu de temps (voir beaucoup) a partager leurs expériences et a répondre à des novices comme moi :D

ton tuto m'a été d'une aide précieuse pour réaliser mon widget T° pour mes sonde oregon, par contre je souhaiterais avoir l’hydrométrie et l’état de la batterie un peu comme ton exemple en haut mais je ne vois pas ou ni comment rajouter les lignes de code ni les image de la pile

merci
Z83 / RFPLAYER /IPX800v3 /Syno DS214

slug74
Timide
Messages : 6
Inscription : 16 août 2017, 14:03

Re: [WIDGET] Tuto Widget affichage Température

Message par slug74 » 07 juin 2018, 15:21

Bonjour,

merci à toi pour ce partage !
J'ai la même question que fredvog, je n'arrive pas a ajouter l'hydrométrie et battery. Je n'arrive pas a trouver la commande #XX# correspondante

Merci pour ton aide.

romanais
Actif
Messages : 1999
Inscription : 21 août 2014, 21:36
Localisation : Drôme

Re: [WIDGET] Tuto Widget affichage Température

Message par romanais » 07 juin 2018, 15:44

Un mot rapide pour te remercier de ce partage ! Toujours cool pour apprendre de nouvelles choses facilement !
Je garde au chaud !
Merci à toute l'équipe pour le taf

Mon matériel

RobertDuval
Timide
Messages : 16
Inscription : 17 févr. 2018, 04:50
Localisation : Haut de France

Re: [WIDGET] Tuto Widget affichage Température

Message par RobertDuval » 07 juin 2018, 23:58

Salut,

Malheureusement j'ai eu peu de temps à consacrer à Jeedom.
Pour info j'ai le code pour l'hygrométrie et la batterie, je vous poste le code d'ici 24/48h.

Encore désolé pour le retard.

Robert

maxwell86
Timide
Messages : 15
Inscription : 10 avr. 2018, 18:14

Re: [WIDGET] Tuto Widget affichage Température

Message par maxwell86 » 09 juil. 2018, 16:07

Désolé de déterrer un peu le topic, mais aurais-tu le temps de poster ton code pour l'hydro et la batterie?

Merci d'avance!

Avatar de l’utilisateur
Donut
Timide
Messages : 182
Inscription : 07 févr. 2017, 09:53
Localisation : Charente-Maritime

Re: [WIDGET] Tuto Widget affichage Température

Message par Donut » 24 oct. 2018, 11:52

Je ne comprends pas, rien ne fonctionne.
Je suis complètement largué au moment où il faut aller changer le paramètre Température.
Les 2 screens ne correspondent à rien chez moi :/

Si une bonne âme charitable que m'expliquer tout ça, merci

scott
Timide
Messages : 7
Inscription : 18 oct. 2018, 11:39

Re: [WIDGET] Tuto Widget affichage Température

Message par scott » 17 nov. 2018, 23:55

hello,

merci pour le tuto, je démarre avec les widgets et ce n'est pas évident. j'arrive à faire fonctionner le widget mais je ne sais pas où définir les attributes (e.g. fontsizeState, oneLine). merci d'avance de toute aide.

- scott

jerome6994
Timide
Messages : 360
Inscription : 04 juin 2019, 12:36
Localisation : Lyon

Re: [WIDGET] Tuto Widget affichage Température

Message par jerome6994 » 25 juin 2019, 13:36

Bonjour

Cela fait quelques jours que je regarde l’utilisation des widgets et je te remercie pour le tuto.

Par contre comment faire quand nous n’avons pas la possibilité de modifier le widget de l’objet ?

Sur mon design j’aimerais faire un cadre pour les températures par exemple et un autre pour l’humidité.
Ces 2 valeurs sont au sein du même objet donc je ne peux pas modifier pour faire l’affiche de l’une ou l’autre valeur c’est tout ou rien il me semble.

Si tu sais comment afficher le widget en exemple dans ton poste tout seul dans mon design et y associer la variable que je désire je suis preneur d’une explication.

Merci d’avance
RPI 3 B+ : Jeedom 3.3.32 - Z-Wave + : Z-Stick GEN5 - Aeon Labs - RFXCom - ZiGate USB-TTL ZigBee®
IOT : Station Météo, Thermostat, Vannes Netatmo, Volets Profalux, Prises DI-O, Somfy Home Alarm, Hue, Fibaro

Avatar de l’utilisateur
mich0111
Timide
Messages : 460
Inscription : 25 juin 2019, 13:59

Re: [WIDGET] Tuto Widget affichage Température

Message par mich0111 » 31 juil. 2019, 14:07

RobertDuval a écrit :
04 mars 2018, 04:48
Bonjour,

Tout nouveau sur Jeedom, je souhaite partager avec vous un petit widget pour l'affichage d'une image concernant la température. C'est également valable pour l'affichage de l'humidité ou toute autre info numérique, il suffira d'adapter les images et le code. Je suppose que certains post proposent déjà le même type de code, je ne voudrais pas passer pour l'inventeur de la roue, je vous propose seulement un code corrigé et testé, prêt à l'emploi avec les images qui vont avec, et que vous pourrez mettre en oeuvre en moins de 5 minutes.

Exemple de résultat :

ImageImageImageImage

Comme vous le voyez, les thermomètres affichés sont différents suivant la température, j'ai fixé arbitrairement des plages de températures, que vous pourrez modifier suivant vos besoins. Je joins également les images utilisées et modifiées dans Photoshop pour rendre les fonds transparents, les images au format PNG sont prêtes à l'emploi et doivent être transférées dans un répertoire, il faudra alors adapter le code avec le chemin de votre répertoire d'images.

Pour obtenir ce résultat, installez le plugin "Widget" (si ce n'est déjà fait) et créez en un nouveau, n'utilisez surtout pas le "Mode création facile", mais cliquez sur le bouton "Ajouter un widget", donnez lui un nom, choisissez le type "Info" et le sous-type "Numérique". Une fois créé, vous n'aurez qu'a copier (et adapter) le code (voir plus bas).

Je n'ai pas la paternité du code d'origine, mais simplement adapté et corrigé à partir de celui de @claude69 qui avait des soucis d'affichage et des problèmes de balises dans son code. L'original est dans ce lien : http://urlz.fr/6F8I

Le code est commenté afin de faciliter les modifs.

Voici le code final :

Code : Tout sélectionner

<div style="min-width:120px;min-height:80px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
    <center><span class="cmdName" style="font-weight: bold;font-size : 0.8em;width: 65px;height: 17px;overflow: hidden;position: relative;#hideCmdName#;" title="#name#">#name_display#</span></center>
    <div style="text-align:center;">
  	<div id="thermometreDivIMG#id#" class="thermometre_div_img">
        <span class="thermometre_img" id="thermometreIMG#id#"></span>
        <span class="thermometre_state" id="thermometreState#id#">#state#</span>
      	<span class="thermometre_unite" id="thermometreUnite#id#">#unite#</span>
    </div>
  	<div>
    	
      	<!-- A activer si vous voulez avoir les statistiques -->
       	<div>
          <span style="line-height:10px;font-size: 0.7em;font-weight: bold;display: inline-block;text-align: justify;#displayHistory#">
            <span title="Min" class="tooltips left">Min : </span><span style="float:right;">#minHistoryValue# #unite#</span><br/>
            <span title="Moyenne" class="tooltips">Moy: </span><span style="float:right;">#averageHistoryValue# #unite#</span><br/>
            <span title="Max" class="tooltips">Max: </span><span style="float:right;">#maxHistoryValue# #unite#</span><br/> <i class="#tendance#"></i>
          </span>
      	</div>
  	</div>
  </div>
  
  <!-- Début du script -->
   <script>
     
     /* Attributs list :
     		- position : 	position of the icon you want : left or right, by default : left
			- heightImage : 	height in pixel of image to show default is 90
            - widthImage : 	width in pixel of image to show default is 90
            - fontsizeState : state font size in px or em, default : 2em
            - fontsizeUnite : unite font size in px or em, default : 1em
			- displayState : display type allow to hide the state with none by example, by default : block
            - oneLine : display State and Unite on the same line
     */
        	var imgHeight;
     		var imgWidth;
			
			<!-- La taille réelle de votre image n'est pas importante mais doit respecter un ratio de 2.4 entre la hauteur et la largeur -->
			
            if (!isNaN(parseFloat("#heightImage#"))) {
              imgHeight = "#heightImage#";
            } else {
              imgHeight = "72"; <!-- Peut importe la taille de votre image originale, elle sera ramenée à la taille de 72Px de hauteur -->
            }
            if (!isNaN(parseFloat("#widthImage#"))) {
              imgWidth = "#widthImage#";
            } else {
              imgWidth = "30"; <!-- Peut importe la taille de votre image originale, elle sera ramenée à la taille de 30Px de Largeur -->
            }
        
			/* C'est ici que vous définissez les plages de température qui vont permettre d'afficher une image différente à chaque fois
			Vous pouvez les modifier suivant vos besoins. Pensez également à modifier le chemin du répertoire des images.
			*/
		
            if ("#state#" <= 0) {
            	$("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo10.png' class='thermometre_img' id='thermometre#id#'/>");
            }
            else if ("#state#" > 0 && "#state#" <= 6) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo20.png' class='thermometre_img' id='thermometre#id#'/>");
            }
			else if ("#state#" > 6 && "#state#" <= 12) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo30.png' class='thermometre_img' id='thermometre#id#'/>");
            }
			else if ("#state#" > 12 && "#state#" <= 18) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo40.png' class='thermometre_img' id='thermometre#id#'/>");
            }
			else if ("#state#" > 18 && "#state#" <= 25) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo50.png' class='thermometre_img' id='thermometre#id#'/>");
            }
			else if ("#state#" > 25 && "#state#" <= 30) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo80.png' class='thermometre_img' id='thermometre#id#'/>");
            }
			else if ("#state#" > 30 && "#state#" <= 40) {
                $("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo90.png' class='thermometre_img' id='thermometre#id#'/>");
            }
          	else {
            	$("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG/Thermo100.png' class='thermometre_img' id='thermometre#id#'/>");
        	}
          
		  
		  /* Cette partie du script ne doit pas être modifiée, 
		     sauf si vous êtes un/une spécialiste
		     Le style est géré plus bas dans le code
		  */
          if ("#position#" == "right") {
            $("#thermometreDivIMG#id#.thermometre_div_img").css("float","right"); 
             $("#thermometreIMG#id#.thermometre_img").css("margin-right","15px");
          } else {
    	  	$("#thermometreDivIMG#id#.thermometre_div_img").css("float","left");
            $("#thermometreIMG#id#.thermometre_img").css("margin-left","15px");
          }
          if (typeof "#fontsizeState#" != "undefined" && "#fontsizeState#" != "2em") {
            $("#thermometreState#id#.thermometre_state").css("height","#fontsizeState#"); 
          }
          if (typeof "#fontsizeUnite#" != "undefined" && "#fontsizeUnite#" != "1em") {
            $("thermometreUnite#id#.thermometre_unite").css("height","#fontsizeUnite#"); 
          }
          if (typeof "#displayState#" != "undefined" && "#displayState#" != "block") {
            $("#thermometreState#id#.thermometre_state").css("display","#displayState#"); 
          }
           if (typeof "#oneLine#" != "undefined" && "#oneLine#" == "on") {
             if ("#position#" == "right") {
                //$("#thermometreState#id#.thermometre_state").css("margin-left","20px"); 
             	$("#thermometreUnite#id#.thermometre_unite").css("display","block");
             	$("#thermometreUnite#id#.thermometre_unite").css("margin-top","-25px");
             	$("#thermometreUnite#id#.thermometre_unite").css("margin-right","85px");
             } else {
                $("#thermometreState#id#.thermometre_state").css("margin-right","20px"); 
             	$("#thermometreUnite#id#.thermometre_unite").css("display","block");
             	$("#thermometreUnite#id#.thermometre_unite").css("margin-top","-25px");
             	$("#thermometreUnite#id#.thermometre_unite").css("margin-left","85px");
             }
           }
    </script>
	 <!-- Fin du script -->
	
</div>

  <!-- Le code suivant gère le style et l'affichage des données, vous pouvez le modifier et faire des tests-->
<style>
 
span.thermometre_img {
  	height: 90px;
  float: left;
  }

   <!-- Gestion de l'affichage de l'image du thermomètre -->
span.thermometre_div_img {
    margin-left: 5px;
	position:relative;
    margin-top: 10px;
  	height: 64px;
  	width: 62px;
	float: left;
    display: block;
  }
  
 <!-- Gestion de l'affichage de la température -->  
span.thermometre_state {
  	font-weight: bold;
  	font-size: 2em;
  	margin-top: 10px;
    margin-left: 5px;
    float: left;
    display: block;
  }

   <!-- Gestion de l'affichage de l'unité "C°" (ou autre chose) -->
span.thermometre_unite {
  	font-size: 0.7em;
    font-weight: bold;
  	margin-top: 14px;
    margin-left: 2px;
  	top: 30px;
    float: right;
    display: block;
  }

</style>
Une fois votre Widget sauvegardé, allez dans votre objet et sélectionnez l'onglet "commandes", vous devrez aller modifier les paramètres d'affichage de la température et sélectionner l'affichage (le widget) que vous venez de créer.

ImageImage

Dans le fichier joint se trouvent les images de chaque thermomètre utilisé dans le code THERMO1.rar
Mais aussi l'image vectorielle d'origine créée dans Adobe Illustrator (peut être traitée dans Photoshop). GoalThermometer_05.rar

l'image d'origine est libre de droit et vient du site https://fr.vecteezy.com/art-vectoriel/1 ... ermom-tres où vous trouverez de nombreuses autres images de thermomètres.

J'espère que vous pourrez créer vos propres widgets et serait content de voir vos propres adaptations

Amicalement

Robert
Bonjour,

Je déterre ce vieux post et avoue ma crasse ignorance.
J'ai essayé de créer ton widget mais je n'y arrive pas. Je pense avoir suivi les explications mais il doit y avoir quelque chose qui m'échappe.
J'ai voulu appliquer ce widget à une sonde de température de piscine et le résultat est celui indiqué plus bas. Rien à voir.
Qu'est-ce j'ai pu louper?
Merci de votre aide.
Pièces jointes
Capture.PNG
Capture.PNG (2.74 Kio) Consulté 8407 fois
Jeedom V4 DIY
RPI3B+
SSD
RFXCOM version XL
Contrôleur Z-Wave Z-stick Gen5
CronBee2
Et plus de 70 devices de toutes marques et toutes natures

006fazer
Timide
Messages : 25
Inscription : 19 avr. 2017, 17:18

Re: [WIDGET] Tuto Widget affichage Température

Message par 006fazer » 02 août 2019, 11:57

Hello,

J'ai un soucis sur ce plugin ce matin, j'ai ajouté un widget toogle, pas de soucis.

J'en rajoute d'autres, il me dit "Installé", mais je ne les vois pas dans la liste des widgets. Si je veux le supprimer, là il m'annonce "Impossible de trouver l'objet associé : 2398".

Normal ? :-(

Merci
Eric

Flo7110
Timide
Messages : 52
Inscription : 07 août 2019, 20:51

Re: [WIDGET] Tuto Widget affichage Température

Message par Flo7110 » 07 août 2019, 23:45

Très bon widget et fonctionnel.

Cependant, je n aurai pas fait le même choix de couleur que toi. J'aime le remplissage qui est plus ou moins rempli par rapport à la température mais le mauve et le vert ne représente pas très bien la température.

Je serai peut être parti dans ce sens :

- blanc qui évoque la neige et le froid
- bleu qui évoque le froid
- bleu plus foncé pour l intermédiaire par exemple
- Orange quand il commence à faire chaud
- Rouge quand il fait trop chaud

Je trouve qu'on verrait plus en un coup d'oeil les états.
Chaîne YouTube spécialisée Jeedom
Domotech https://www.youtube.com/channel/UCMhSUD ... 7l3Rk0HXww

Avatar de l’utilisateur
GEO
Timide
Messages : 158
Inscription : 05 juin 2015, 17:06
Localisation : Sud est lyonnais
Contact :

Re: [WIDGET] Tuto Widget affichage Température

Message par GEO » 08 août 2019, 00:38

Bonjour pour la température de la piscine, j'ai fais une petite adaptation dans mon cas et mon widget ressemble a ça:
Capture.JPG
Capture.JPG (10.14 Kio) Consulté 8233 fois
avec changement de couleur en fonction de la température
Jeedom Smart, rfx433, OpenZwave
Smart Energy Switch Gen5 1 AEOTEC, Mini Keypad ZIPATO, SF812 Smoke EVERSPRING, Door/Window Sensor AEOTEC, ZM1602 VISION SECURITY, Multi Sensor Gen5 1 AEOTEC, FGK101 FIBARO, FGRGBWM441 RGBW FIBARO

Répondre

Revenir vers « [Plugin officiel] Widgets »

Qui est en ligne ?

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