Demande pour widget

non pourtant bon c pas très grave

Slt as tu eu le temps de regarder pourquoi sur deux widgets après la virgule 3 chiffre

Yep,

Voici un nouveau code avec l’image de taille plus raisonnable et une légère révision du code dont l’arrondi des chiffres à virgule.

<div class="compteur cmd tooltips cmd-widget #history#" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">
  <div class="title #hide_name#">
    <div class="cmdName">#name_display#</div>
  </div>
    <div class="IMGmeter#id#"><img src="plugins/widget/core/template/dashboard/cmd.info.numeric.Compteur_EDF_LedAnimated-PoLo/compteur_elec_256.png" height=180px width=180px></div>
    <div class="result_conso#id#"></div>
    <span class="unite_conso#id#">#unite#</span>
  <span class="led_cligno#id#"></span>
<style>
@font-face {
    font-family: "Digital-7";
  	src:url("plugins/widget/core/template/dashboard/cmd.info.numeric.Compteur_EDF_LedAnimated-PoLo/font/digital-7.ttf") format("truetype");
  	font-weight:normal;
  	font-style:normal;
}
.compteur {
  width:200px;
  height:210px;
  }  
span.led_cligno#id# {
    width: 20px;
    height: 20px;
    background:red;
    -webkit-animation: mymove 2s infinite; /* Chrome, Safari, Opera */
    animation: mymove 2s infinite;
    position: absolute;
  	top:95px;
  	left:45px;
  	z-index:-1;
}
/* Chrome, Safari, Opera */
@-webkit-keyframes mymove {
    from {background-color: red;}
    to {background-color: grey;}
}
div.IMGmeter#id# {
  	position: absolute;
    top: 20px;
    left: 10px;
  }  
div.result_conso#id# {
  	position:absolute;
    text-align: right;
    font-family: "Digital-7";
    font-size:33px;
  	letter-spacing: 2px;
  	color: black;
    top: 91px;
    right: 55px;
    transform : scale(0.7,1);
	-webkit-transform:scale(0.7,1); /* Safari and Chrome */
	-moz-transform:scale(0.7,1); /* Firefox */
    -ms-transform:scale(0.7,1); /* IE 9+ */
	-o-transform:scale(0.7,1); /* Opera */
  }
span.unite_conso#id# {
    font-family: "Digital-7";
    font-size:20px;
  	letter-spacing: 3px;
  	color: black;
  	position: absolute;
    text-align: right;
  	top: 127px;
  	right: 60px;
  	transform : scale(0.7,1);
	-webkit-transform:scale(0.7,1); /* Safari and Chrome */
	-moz-transform:scale(0.7,1); /* Firefox */
    -ms-transform:scale(0.7,1); /* IE 9+ */
	-o-transform:scale(0.7,1); /* Opera */
  }
</style>
<script>
jeedom.cmd.update['#id#'] = function(_options){
  var valeur = Math.round(_options.display_value);
  $('.cmd[data-cmd_id=#id#] .result_conso#id#').html(valeur);
$('.cmd[data-cmd_id=#id#]').attr('title','Date de valeur : '+_options.valueDate+'<br/>Date de collecte : '+_options.collectDate)
		}
    jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
</script>
</div>

Y’aura sûrement des trucs à revoir j’y reviendrai au fur et à mesure des demandes.

merci enormement pour les deux widget que tu as refait il reste en un qui as 3 chiffres mais cela ne depasse pas trop

pour le niveau des batterie avant j’avais une pile et pour la température un thermomètre serait tu si ils vont être remplacer

Ça tu peux le faire facilement avec le nouveau système de template: « multistate » il me semble.
Tu mets les images de différents niveaux de batterie en fonction des valeurs de l’info numérique

il sont revenue as 3 chiffres aujourdhui

Tu es sur d’avoir remplacé le code du fichier plugins/widget/core/template/dashboard/cmd.info.numeric.Compteur_EDF_LedAnimated-PoLo.html par celui que je t’ai donné 3 messages plus haut ?

…Car il n’y a plus de décimale avec le dernier code donc je ne pense pas qu’il ait été pris en compte

je viens de le refaire tjrs paereil pourtant j’ai fait ctrl f5

OK… Des fois il est nécessaire de redimensionner la tuile sur le dashboard avec le stylo en haut à droite pour que le nouveau code des widgets soit pris en compte.

Si ça ne fonctionne toujours pas vérifies que ce soit bien le nouveau code qui est pris en compte en cliquant sur F12 sous Chrome.

merci cela fonctionne il fallait redimensionner la tuile puis merci @coke pour l’aide

Désolé d’intervenir mais çà fait plusieurs fois que je tombe de ma chaise en voyant vos codes de widgets, sur différents posts …

Alors sans vouloir tout optimiser à mort, un truc quand même :

$('div.conso#id#').css('width','90px');
$('div.conso#id#').css('min-height','80px');

=> sachez que là, vous ciblez le même élément, mais vous demandez à jquery de parcourir tout le DOM pour retrouver deux fois la même chose !

$('div.conso#id#').css({
	'width' : '90px',
	'min-height' : '80px'
})

De même, des fois vous avez 20 lignes dans le genre:

$('span.statedec1_conso#id#').css('font-size','20px');
$('span.statedec2_conso#id#').css('font-size','20px');
$('span.statedec3_conso#id#').css('font-size','20px');

Vous parcourez donc 20 fois le DOM, la page entière donc, avec tout les widgets etc, pour en trouver un.
Sachez pourtant que chaque commande est unique dans le DOM, de part son id :

<div class="cmd cmd-widget" ... data-cmd_id="#id#" ...>

donc:

let cmd = $('.cmd[data-cmd_id=#id#]')
cmd.find('.conso#id#').css({
	'width' : '90px',
	'min-height' : '80px'
)
cmd.find('.statedec1_conso#id#').css('font-size','20px')
cmd.find('.statedec2_conso#id#').css('font-size','20px')
cmd.find('.statedec3_conso#id#').css('font-size','20px')

Ce sera juste 20 fois … plus rapide ! Multiplié par le nombre de widget bien sûr …

Et dans ce cas, comme on part d’un cmd id unique, pas besoin de #id# partout dans les class, çà accélèrera aussi le replace :roll_eyes:

Je veux pas vous embêter hein, mais on se prend la tête pour optimiser le core, donc si les widgets tiers peuvent l’être un minimum ce serait cool.

:beers: :kissing:

3 « J'aime »

Cool Merci pour ces optimisations @kiboost :grinning: c’est tout à fait le genre de conseils que je prends très volontiers pour les widgets que je développe.

…Sur les widgets que je mets uniquement à jour j’ai toujours fait juste le minimum syndical pour que ça fonctionne correctement en essayant de toucher le moins possible au code d’origine (tout bêtement car je ne souhaite pas assurer la maintenance de ces widgets :crazy_face:)

Maintenant je pense faire une centralisation V4 des widgets que j’ai codé ou re-codé donc encore merci pour ces conseils qui vont m’être précieux !

1 « J'aime »

je ne sais pas si cela est lier mais je viens d’avoir ces deux message

HLS… ça ressemble plus à un problème de flux de caméra… Tu utilises une caméra ?

1 « J'aime »

oui ok donc le message viens de la car elle est couper en ce moment

Bonsoir,
Question bête…
Il y a une fonction importer exporter dans la v4. Pas moyen d’exporter tous ces widget retouchés ? À défaut ça sert à quoi ?
Phil

Salut @bronche,

La fonction d’import/export du menu outils/widget de la V4 ne fait que générer un json pour un widget créé à partir d’un template. Une sorte de config de widget core mais ça se limite à ça.

1 « J'aime »

bonjour @Salvialf , petit = 1 ne fonctionne pas avec le round EDF?compteur

Bonjour,
merci pour votre super travail sur ce widget :grin:.
je pense avoir installé le widget comme indiqué plus haut mais je rencontre 2 probleme:

  • la police n’est pas pris en compte. décalage de l’écriture peut etre du a la police ?
  • j’aurai voulu avoir un ou deux chiffre après la virgule.
    dans l’attente de votre réponse
    merci a bientôt

Merci Salvialf J’ai pu faire un joli widget pour le lecteur NorthQ électrique que j’ai. Je l’ai tuné au logo de mon fournisseur.

Screen Shot 01-11-22 at 01.46 PM