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 !

Explications sur le nouveau codage des widgets

Réservé à l'utilisation et la création de widgets dans JEEDOM
Avatar de l’utilisateur
Salvialf
Helper
Messages : 1334
Inscription : 24 févr. 2018, 09:37
Contact :

Re: Explications sur le nouveau codage des widgets

Message par Salvialf » 08 avr. 2019, 17:33

JAG a écrit :
08 avr. 2019, 17:30
Salut

Je viens de regarder, je l'avais publier sur le market
Capture d’écran 2019-04-08 à 17.29.09.png
Bonne soirée
Je crois pas que c'est le même ! Pour moi il parle de celui-là (en tout cas c'est celui dont je viens de balancer le code):
Pièces jointes
Jaugeseedomus.jpg
Jaugeseedomus.jpg (24.22 Kio) Consulté 1866 fois
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
Theduck38
Helper
Messages : 2714
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Explications sur le nouveau codage des widgets

Message par Theduck38 » 08 avr. 2019, 18:16

Yess, merci à tous les deux.
J'ai cherché un peu trop vite : pas de mention "eedomus" dans les posts :(

Je vais maintenant essayer de comprendre pourquoi j'ai pas réussi à l'adapter...
Dernière édition par Theduck38 le 08 avr. 2019, 18:20, édité 2 fois.
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

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

Re: Explications sur le nouveau codage des widgets

Message par Salvialf » 08 avr. 2019, 18:17

Theduck38 a écrit :Yess, merci à tous les deux.
J'ai cherché un peu trop vite : pas de mention "eedomus" dans les posts :(

Je vais maintenant essayer de comprendre pourquoi j'ai pas réussi à l'adapter...
'_option.display.value' au lieu de #state#
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
Theduck38
Helper
Messages : 2714
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Explications sur le nouveau codage des widgets

Message par Theduck38 » 08 avr. 2019, 18:20

ch'ui dégoutté... j'avais fait les bonnes modifs la première fois... et j'ai oublié de fermer l'accolade de la fonction jeedom.cmd.update :twisted:
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

Avatar de l’utilisateur
Theduck38
Helper
Messages : 2714
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Explications sur le nouveau codage des widgets

Message par Theduck38 » 08 avr. 2019, 18:21

C'est le premier truc que j'ai essayé avant de partir dans des modifs débiles...
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

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

Re: Explications sur le nouveau codage des widgets

Message par Salvialf » 08 avr. 2019, 18:23

Lol ah oui l'accolade c'est fatal ;) ! Ce qui est bien c'est que tu ne te feras plus avoir maintenant! Pendant que t'es la le widget Kontrol2 est fini j'ai attaqué la doc... dispo sous peu!
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
Theduck38
Helper
Messages : 2714
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Explications sur le nouveau codage des widgets

Message par Theduck38 » 08 avr. 2019, 19:03

Cool, merci !
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

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

Re: Explications sur le nouveau codage des widgets

Message par Salvialf » 09 avr. 2019, 00:06

Theduck38 a écrit :
05 avr. 2019, 18:07
Et tu as vu les possibilités avec la bibliothèque 'knob' ?
http://anthonyterrien.com/demo/knob/

Ceci dit, pour moi dans kontrol certaines fonctionnalités ne marchent pas (comme le contrôle avec le bouton rotatif de la souris ou l'arrondi du curseur).
OK Kontrol2 est dans la place (heu sur le market) avec toutes les fonctionnalités et paramètres personnalisables !!

Je suis revenu sur Knob par à-coups je vais sûrement pouvoir en faire quelque chose faut juste que je teste quelques pull-requests présents sur le GitHub :ugeek:
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
Claude69
Actif
Messages : 2089
Inscription : 04 avr. 2015, 07:57
Localisation : Nord de Lyon

Re: Explications sur le nouveau codage des widgets

Message par Claude69 » 10 avr. 2019, 17:50

Hello, c'est encore moi
Toujours dans l'optique de faire mes propres widgets, je bute sur un bout de code.
Je souhaite centraliser mes images et j'ajoute dans mon widget (Code tiré de thermometreIMG2):
var srcImg = 'plugins/widget/core/images/';
Dans le code suivant :
$("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src='plugins/widget/core/template/dashboard/cmd.info.numeric.thermometreIMG2/TempRouge.png' class='thermometre_img' id='thermometre#id#'/>");
Je cherche à remplacer le chemin de l'image par ma variable srcImg
Pas de souci sur un cas simple :
$(".iconCmd#uid#").append('<img src="'+srcImg +'Poubelle_jaune.png" height=100 width=100/>');
Par contre impossible d'avoir l'image dans le cas du thermomètre
Gestion d'ouverture / fermeture Portail et garage
Gestion filtration piscine
Divers éclairages
Et tout plein d'autres choses ...
JEEDOM NUC 3.3.33 ULTIMATE

Mon matériel ici

Avatar de l’utilisateur
Theduck38
Helper
Messages : 2714
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Explications sur le nouveau codage des widgets

Message par Theduck38 » 10 avr. 2019, 19:00

Hello,

$("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src=" + srcImg + "dashboard/cmd.info.numeric.thermometreIMG2/TempRouge.png' class='thermometre_img' id='thermometre#id#'/>");

Ça marche pas ça ?
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

Avatar de l’utilisateur
Claude69
Actif
Messages : 2089
Inscription : 04 avr. 2015, 07:57
Localisation : Nord de Lyon

Re: Explications sur le nouveau codage des widgets

Message par Claude69 » 12 avr. 2019, 10:29

Theduck38 a écrit :
10 avr. 2019, 19:00
Hello,

$("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src=" + srcImg + "dashboard/cmd.info.numeric.thermometreIMG2/TempRouge.png' class='thermometre_img' id='thermometre#id#'/>");

Ça marche pas ça ?
Hello
J'ai essayé en modifiant car le chemin du dossier est dans scrImg
J'ai dans le code une ligne var srcImg = 'plugins/widget/core/images/';
Voila ce que je mets, mais je n'ai pas l'image.
$("#thermometreIMG#id#").append("<img style='height:" + imgHeight + "px;width:" + imgWidth + "px;' src=" + srcImg + "TempRouge.png' class='thermometre_img' id='thermometre#id#'/>");
Gestion d'ouverture / fermeture Portail et garage
Gestion filtration piscine
Divers éclairages
Et tout plein d'autres choses ...
JEEDOM NUC 3.3.33 ULTIMATE

Mon matériel ici

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

Re: Explications sur le nouveau codage des widgets

Message par Salvialf » 12 avr. 2019, 10:36

Bonjour,

Sans conviction mais je crois que c'est normal. Il n'y a que les widgets créés avec l'assistant de création qui permettent de stocker les images ailleurs que dans le répertoire du widget selon moi.

D'où les lignes estampillées <NE PAS SUPPRIMER> sur les widgets créées soi-même qui renvoie vers le dossier "images".
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
Theduck38
Helper
Messages : 2714
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Explications sur le nouveau codage des widgets

Message par Theduck38 » 12 avr. 2019, 12:18

Chez moi ça marche.
Testé en créant un widget info binaire 'test' et en balançant deux images (powericonON.png et powericonOFF.png) dans /plugins/widget/core/images/:

Code : Tout sélectionner

<div style="width:90px;min-height:100px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" title="#collectDate#">
    <center>
        <span class='cmdName' style="font-weight: bold;font-size : 14px;">#name#</span>
        <span style="font-size: 3em;font-weight: bold;margin-top: 5px;" class="iconCmd"></span>
    </center>
    <script>

      	// rouge, vert, bleu, jaune
        jeedom.cmd.update['#id#'] =function(_options){
        var srcImg = 'plugins/widget/core/images/';
      	var taille = (is_numeric('#size#')) ? parseFloat('#size#') : 60;  
 
			if (_options.display_value == '1') {
				$('.cmd[data-cmd_id=#id#] .iconCmd').empty().append('<img src="' + srcImg + 'powericonON.png" style="height:' + taille + 'px;width:' + taille + 'px; "/>');
			}else {
				$('.cmd[data-cmd_id=#id#] .iconCmd').empty().append('<img src="' + srcImg + 'powericonOFF.png" style="height:' + taille + 'px;width:' + taille + 'px; "/>');
			}
		}
		jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
    </script>

</div>
La seule différence est que j'ai inversé les " et les ' dans mon code.
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

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

Re: Explications sur le nouveau codage des widgets

Message par Salvialf » 12 avr. 2019, 12:21

Bon bah je retire :? heureusement que j'avais mis les formes ça ne m'aurait pas étonné qu'il y ait un problème de droits pour accéder à un autre répertoire mais j'aurais pu tester pour confirmer.

@theduck38 a les choses en main :mrgreen:

ah oui j'avais pas vu qu'il manquait les apostrophes sur l'appel de la variable
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
Theduck38
Helper
Messages : 2714
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Explications sur le nouveau codage des widgets

Message par Theduck38 » 12 avr. 2019, 12:57

Après, il y a peut-être des problèmes de droits sur certaines install.
J'ai vérifié avant de tester que les droits étaient OK sur mon dossier 'Images'.
-- TD38 --
Helper Officiel Jeedom
Zimeteo sur Jeedom : http://www.meteo.lecoin.info
Jeedom Stable sur serveur custom
Le risque électrique - Afficheur leds RGB - Tablette Murale - Thermostat connecté

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

Re: Explications sur le nouveau codage des widgets

Message par JAG » 14 avr. 2019, 16:50

breizh22 a écrit :
05 avr. 2019, 21:07
Merci pour la petite modif du code, donc pour moi, cela fonctionne avec ce code (perso j'ai remis l'espace entre l'icone et le nom du mode et j'ai changé quelques couleurs)

Code : Tout sélectionner

<div style="min-width:90px;min-height : 20px;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="other" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" title="#collectDate#">
	<!-- Info Widget
		Mise à jour				: JAG 20190405: Compatibilité V3.2 et ajout couleur texte
	-->
  <div style="font-weight: bold;font-size : 12px;#hideCmdName#" class='cmdName'>#name_display#</div>
  <center>
    <div>
    	<span class="label label-default" style="font-size: 1em;"></span>
    	<span style="font-size: 1em; font-weight: bold; margin-top: 5px;" class="iconCmd"></span>
    </div>
    </center>
    <script>
      jeedom.cmd.update['#id#'] = function(_options){
        	//Paramétrage des modes
        		var Mode1		= ('#Mode1#'!='#'+'Mode1#') ? "#Mode1#" : "Présent";
        		var Mode2		= ('#Mode2#'!='#'+'Mode2#') ? "#Mode2#" : "Absent";
        		var Mode3		= ('#Mode3#'!='#'+'Mode3#') ? "#Mode3#" : "Nuit";
        		var Mode4		= ('#Mode4#'!='#'+'Mode4#') ? "#Mode4#" : "Vacances";
        		var Mode5		= ('#Mode5#'!='#'+'Mode5#') ? "#Mode5#" : "Cinéma";
        		var Mode6		= ('#Mode6#'!='#'+'Mode6#') ? "#Mode6#" : "Alarme";
        		var Mode7		= ('#Mode7#'!='#'+'Mode7#') ? "#Mode7#" : "Jour";
        
        	$('.cmd[data-cmd_id=#id#] .iconCmd').empty(); 
          	// Update
			var State = _options.display_value;	
                    if (State == Mode1) {
                      	$('.cmd[data-cmd_id=#id#] .iconCmd').html('<i class="icon maison-house112">'+' '+State).css('background-color', 'green');    
                    } else if (State == Mode2) {
                      	$('.cmd[data-cmd_id=#id#] .iconCmd').html('<i class="icon jeedom-mouvement">'+' '+State).css('background-color', 'lightcoral'); 
                    } else if (State == Mode3) {
                      	$('.cmd[data-cmd_id=#id#] .iconCmd').html('<i class="icon nature-night2">'+' '+State).css('background-color', 'navy'); 
                    } else if (State == Mode4) {
                      	$('.cmd[data-cmd_id=#id#] .iconCmd').html('<i class="icon loisir-beach4">'+' '+State).css('background-color', 'blue'); 
                    } else if (State == Mode5) {
                      	$('.cmd[data-cmd_id=#id#] .iconCmd').html('<i class="fa fa-suitcase">'+' '+State).css('background-color', 'grey');
                    } else if (State == Mode6) {
                      	$('.cmd[data-cmd_id=#id#] .iconCmd').html('<i class="icon jeedom-alerte2">'+' '+State).css('background-color', 'red');
                    } else if (State == Mode7) {
                      	$('.cmd[data-cmd_id=#id#] .iconCmd').html('<i class="icon meteo-soleil">'+' '+State).css('background-color', 'green');
                    } else {
                      	$('.cmd[data-cmd_id=#id#] .iconCmd').html('<i class="icon jeedom-alerte2">'+' '+State).css('background-color', 'red');
                    }          
			// Update IMG     
        $('.cmd[data-cmd_id=#id#]').attr('title','Mode : '+_options.display_value+', collectée le '+_options.collectDate);
		}
		jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});  
    </script>
</div>
Lien ici pour le nom des couleurs.

Grand merci @JAG d'avoir pris du temps pour nous aider :D
@breizh22
Salut, j'ai fait une petite modif esthétique et ajouter marge a droite à gauche pour le cadre du texte, voici le résultat
J'ai aussi autorisé le paramétrage des couleurs dans le widget, cela permettra a tous de changer la couleur
Capture d’écran 2019-04-14 à 16.49.46.png
Capture d’écran 2019-04-14 à 16.49.46.png (212.34 Kio) Consulté 1683 fois
Voila le résultat, à tester et me dire si c'est ok
Capture d’écran 2019-04-14 à 16.47.00.png
Capture d’écran 2019-04-14 à 16.47.00.png (31.63 Kio) Consulté 1683 fois
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
HerveL
Timide
Messages : 478
Inscription : 11 sept. 2015, 22:46
Localisation : Nantes

Re: Explications sur le nouveau codage des widgets

Message par HerveL » 16 avr. 2019, 00:27

Bonjour,

J'essaie de mettre à jour un de mes widgets info qui permet d'afficher l'état d'un volet roulant "home made"
Je me suis inspiré du store à banne de JAG pour adapter l'ancienne version de mon code et le rendre compatible
A priori c'est simple, mais ça ne marche pas - rien ne s'affiche - et je ne trouve pas ce qui cloche.
Une bonne âme pourrait elle m'aider svp ?

Code : Tout sélectionner

<div style="min-width:100px; min-height:100px;" class="cmd tooltips cmd-widget #history# #displayHistory#" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
	<center>
		<span style="font-weight: bold;font-size:12px;#hideCmdName#">#name_display#</span>
		<div class="iconCmd#id#"></div>
	</center>
  
	<script>  
      jeedom.cmd.update['#id#'] = function(_options){
      	var State = parseFloat(_options.display_value);

            $('.cmd[data-cmd_uid=#uid#] .iconCmd').empty();
          	var niveau 	= 0;
      
			if(state == 0) {
              niveau = 0;
            } else if(state > 0 && state <= 35 ) { 
              niveau = 10; 
            } else if(state > 35 && state <= 45 ) { 
              niveau = 20; 
            } else if(state > 45 && state <= 55 ) {
              niveau = 30; 
            } else if(state > 55 && state <= 63 ) { 
              niveau = 40;
            } else if(state > 63 && state <= 73 ) { 
              niveau = 50;  
            } else if(state > 73 && state <= 84 ) { 
              niveau = 60;  
            } else if(state > 84 && state <= 92 ) { 
              niveau = 70;  
            } else if(state > 92 && state <= 95 ) { 
              niveau = 80;  
            } else if(state > 95) { 
              niveau = 99; 
            }
    		$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img src="plugins/widget/core/template/dashboard/cmd.info.numeric.Rv_Design_Store_CuisineGB/M3D-Cuis_Store-'+niveau+'.png" />');
 
      }
      jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});   

	</script>

</div>

Hervé
Utilisateur Mini+ et SMART passionné
Zwave, IPX800V3, IPX800V4, Rfxcom, RFP1000

Avatar de l’utilisateur
cadavor
Actif
Messages : 1284
Inscription : 21 juin 2015, 22:00
Localisation : 34

Re: Explications sur le nouveau codage des widgets

Message par cadavor » 16 avr. 2019, 10:44

HerveL a écrit :
16 avr. 2019, 00:27
Bonjour,

J'essaie de mettre à jour un de mes widgets info qui permet d'afficher l'état d'un volet roulant "home made"
Je me suis inspiré du store à banne de JAG pour adapter l'ancienne version de mon code et le rendre compatible
A priori c'est simple, mais ça ne marche pas - rien ne s'affiche - et je ne trouve pas ce qui cloche.
Une bonne âme pourrait elle m'aider svp ?

Code : Tout sélectionner

<div style="min-width:100px; min-height:100px;" class="cmd tooltips cmd-widget #history# #displayHistory#" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
	<center>
		<span style="font-weight: bold;font-size:12px;#hideCmdName#">#name_display#</span>
		<div class="iconCmd#id#"></div>
	</center>
  
	<script>  
      jeedom.cmd.update['#id#'] = function(_options){
      	var State = parseFloat(_options.display_value);

            $('.cmd[data-cmd_uid=#uid#] .iconCmd').empty();
          	var niveau 	= 0;
      
			if(state == 0) {
              niveau = 0;
            } else if(state > 0 && state <= 35 ) { 
              niveau = 10; 
            } else if(state > 35 && state <= 45 ) { 
              niveau = 20; 
            } else if(state > 45 && state <= 55 ) {
              niveau = 30; 
            } else if(state > 55 && state <= 63 ) { 
              niveau = 40;
            } else if(state > 63 && state <= 73 ) { 
              niveau = 50;  
            } else if(state > 73 && state <= 84 ) { 
              niveau = 60;  
            } else if(state > 84 && state <= 92 ) { 
              niveau = 70;  
            } else if(state > 92 && state <= 95 ) { 
              niveau = 80;  
            } else if(state > 95) { 
              niveau = 99; 
            }
    		$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img src="plugins/widget/core/template/dashboard/cmd.info.numeric.Rv_Design_Store_CuisineGB/M3D-Cuis_Store-'+niveau+'.png" />');
 
      }
      jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});   

	</script>

</div>

Le nom des variables est sensible à la casse donc la variable State n'est pas la variable state

Code : Tout sélectionner

<div style="min-width:100px; min-height:100px;" class="cmd tooltips cmd-widget #history# #displayHistory#" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
	<center>
		<span style="font-weight: bold;font-size:12px;#hideCmdName#">#name_display#</span>
		<div class="iconCmd#id#"></div>
	</center>
  
	<script>  
      jeedom.cmd.update['#id#'] = function(_options){
      	var state = parseFloat(_options.display_value);

          	var niveau 	= 0;
      
	if(state == 0) {
              niveau = 0;
            } else if(state > 0 && state <= 35 ) { 
              niveau = 10; 
            } else if(state > 35 && state <= 45 ) { 
              niveau = 20; 
            } else if(state > 45 && state <= 55 ) {
              niveau = 30; 
            } else if(state > 55 && state <= 63 ) { 
              niveau = 40;
            } else if(state > 63 && state <= 73 ) { 
              niveau = 50;  
            } else if(state > 73 && state <= 84 ) { 
              niveau = 60;  
            } else if(state > 84 && state <= 92 ) { 
              niveau = 70;  
            } else if(state > 92 && state <= 95 ) { 
              niveau = 80;  
            } else if(state > 95) { 
              niveau = 99; 
            }
    		$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img src="plugins/widget/core/template/dashboard/cmd.info.numeric.Rv_Design_Store_CuisineGB/M3D-Cuis_Store-'+niveau+'.png" />');
 
      }
      jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});   

	</script>

</div>

Jeedom Stable 3.3
NUC Z83 + Aeotec Z-Stick Gen5
Z-Wave FGR + FGMS + FGDS + FGFS + FGK + FGWPE + ZW062 + ZW080
GH Mini + Orvibo AllOne + Playbulb + Miband2

Avatar de l’utilisateur
HerveL
Timide
Messages : 478
Inscription : 11 sept. 2015, 22:46
Localisation : Nantes

Re: Explications sur le nouveau codage des widgets

Message par HerveL » 16 avr. 2019, 16:34

cadavor a écrit :
16 avr. 2019, 10:44
HerveL a écrit :
16 avr. 2019, 00:27
Bonjour,

J'essaie de mettre à jour un de mes widgets info qui permet d'afficher l'état d'un volet roulant "home made"
Je me suis inspiré du store à banne de JAG pour adapter l'ancienne version de mon code et le rendre compatible
A priori c'est simple, mais ça ne marche pas - rien ne s'affiche - et je ne trouve pas ce qui cloche.
Une bonne âme pourrait elle m'aider svp ?

Code : Tout sélectionner

<div style="min-width:100px; min-height:100px;" class="cmd tooltips cmd-widget #history# #displayHistory#" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
	<center>
		<span style="font-weight: bold;font-size:12px;#hideCmdName#">#name_display#</span>
		<div class="iconCmd#id#"></div>
	</center>
  
	<script>  
      jeedom.cmd.update['#id#'] = function(_options){
      	var State = parseFloat(_options.display_value);

            $('.cmd[data-cmd_uid=#uid#] .iconCmd').empty();
          	var niveau 	= 0;
      
			if(state == 0) {
              niveau = 0;
            } else if(state > 0 && state <= 35 ) { 
              niveau = 10; 
            } else if(state > 35 && state <= 45 ) { 
              niveau = 20; 
            } else if(state > 45 && state <= 55 ) {
              niveau = 30; 
            } else if(state > 55 && state <= 63 ) { 
              niveau = 40;
            } else if(state > 63 && state <= 73 ) { 
              niveau = 50;  
            } else if(state > 73 && state <= 84 ) { 
              niveau = 60;  
            } else if(state > 84 && state <= 92 ) { 
              niveau = 70;  
            } else if(state > 92 && state <= 95 ) { 
              niveau = 80;  
            } else if(state > 95) { 
              niveau = 99; 
            }
    		$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img src="plugins/widget/core/template/dashboard/cmd.info.numeric.Rv_Design_Store_CuisineGB/M3D-Cuis_Store-'+niveau+'.png" />');
 
      }
      jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});   

	</script>

</div>

Le nom des variables est sensible à la casse donc la variable State n'est pas la variable state

Code : Tout sélectionner

<div style="min-width:100px; min-height:100px;" class="cmd tooltips cmd-widget #history# #displayHistory#" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#">
	<center>
		<span style="font-weight: bold;font-size:12px;#hideCmdName#">#name_display#</span>
		<div class="iconCmd#id#"></div>
	</center>
  
	<script>  
      jeedom.cmd.update['#id#'] = function(_options){
      	var state = parseFloat(_options.display_value);

          	var niveau 	= 0;
      
	if(state == 0) {
              niveau = 0;
            } else if(state > 0 && state <= 35 ) { 
              niveau = 10; 
            } else if(state > 35 && state <= 45 ) { 
              niveau = 20; 
            } else if(state > 45 && state <= 55 ) {
              niveau = 30; 
            } else if(state > 55 && state <= 63 ) { 
              niveau = 40;
            } else if(state > 63 && state <= 73 ) { 
              niveau = 50;  
            } else if(state > 73 && state <= 84 ) { 
              niveau = 60;  
            } else if(state > 84 && state <= 92 ) { 
              niveau = 70;  
            } else if(state > 92 && state <= 95 ) { 
              niveau = 80;  
            } else if(state > 95) { 
              niveau = 99; 
            }
    		$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img src="plugins/widget/core/template/dashboard/cmd.info.numeric.Rv_Design_Store_CuisineGB/M3D-Cuis_Store-'+niveau+'.png" />');
 
      }
      jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});   

	</script>

</div>
Bonjour,
Merci, effectivement tu as raison, avec la police de caractère de l'interface ça ne se voyait que difficilement.
Mais il doit y avoir encore autre chose car cela ne fonctionne toujours pas
Hervé
Utilisateur Mini+ et SMART passionné
Zwave, IPX800V3, IPX800V4, Rfxcom, RFP1000

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

Re: Explications sur le nouveau codage des widgets

Message par Salvialf » 16 avr. 2019, 16:40

Salut,

il manque le #id# à la fin de "iconCmd".
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)

Répondre

Revenir vers « [Plugin officiel] Widgets »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Google [Bot] et 4 invités