Merci pour ton aide j’ai finalement réglé mon pb … les images étaient des liens html
Je cherche maintenant les paramètres à passer pour gérer la taille et la position du widget et d’autres éléments si possible.
La doc du widget donne une erreur 404
PS: Y’a tout de même un problème d’affichage si largeurDashboardPx est différent de 20px, mais j’utilise la taille du widget (zoom) dans le design en attendant en restant à 20px.
Il me semblait qu’il n’y avait pas le problème avec l’hygrométrie lorsque j’ai testé (c’est pour cela que je n’ai pas fait d’actualisation).
Peux-tu me faire une capture du problème. C’est sur la version Dashboard et Design ?
Merci
Chez moi avec la version du 2023-01-06 avec le Core v4.4.3
Dashboard :
Merci pour ton retour,
Je n’arrive pas a reproduire ton cas, j’ai donc fais la même modification que l’autre widget.
Je viens de publié la même modification. Dis moi si c’est bon
Pour info, je regarde pour faire une nouvelle version des 2 widgets thermomètre et hygromètre plus simple uniquement compatible avec la dernière version du Core Jeedom 4.4.x.
<div class="cmd cmd-widget #history#" data-type="info" data-subtype="numeric" data-template="tile" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#">
<!--
Jeedom Compatibility: v4.4.3
Version: Dashboard/Mobile
Type: Info
SubType: Numeric
Name: cmd.info.numeric.hygrometer.html
Comment: An hygrometer image with a current value (+stats).
Parameters:
- largeurDashboardPx - Resize the dashboard widget image to the real width - default 20px - [range 20-29px]
- largeurMobilePx - Resize the mobile widget image to the real width - default 20px - [range 20-29px]
Date: 2024-04-25
Source: https://github.com/Heliospeed/jeedom_widget_v4/
Remarks: The template and the images have been modified and come from these repositories:
Template : https://github.com/jeedom/core/blob/V4-stable/core/template/dashboard/cmd.info.numeric.tile.html
Images : widget v3 Dany21000
-->
<div class="title #hide_name#">
<div class="cmdName">#name_display#</div>
</div>
<div class="content-sm">
<div class="pull-left img">
<span id="hygro#id#"></span>
</div>
<div class="pull-right val">
<div>
<span class="float-end state currentValue"></span>
<span class="float-end unitValue">#unite#</span>
</div>
<div class="statsPart1 #hide_history#">
<div class="stats"><span title='Min' class='tooltips'>Min : #minHistoryValue#</span></div>
<div class="stats"><span title='Max' class='tooltips'>Max : #maxHistoryValue#</span></div>
<div class="stats"><span title='Moyenne' class='tooltips'>Moy : #averageHistoryValue#</span></div>
</div>
</div>
</div>
<div class="#hide_history#">
<div class="stats"><span title='Tendance' class='tooltips'>Tendance : <i class="#tendance#"></i></span></div>
</div>
<script>
function getJeedomVersion(){
return $('#bt_jeedomAbout').text().split(' ')[2];
}
function isEarlierVersion(compareVersion){
var jeedomVesion = getJeedomVersion();
if (jeedomVesion === compareVersion) {
return true;
}
var tabJeedomVesion = jeedomVesion.split(".");
var tabCompareVersion = compareVersion.split(".");
var minLen = Math.min(tabJeedomVesion.length, tabCompareVersion.length);
for (var i = 0; i < minLen; i++) {
if (parseInt(tabJeedomVesion[i]) > parseInt(tabCompareVersion[i])) {
return true;
}
if (parseInt(tabJeedomVesion[i]) < parseInt(tabCompareVersion[i])) {
return false;
}
}
return true;
}
jeedom.cmd.update['#id#'] = function(_options){
var cmd = $('.cmd[data-cmd_id=#id#]');
var imgNumber = '';
var taux = (parseFloat(_options.display_value).toFixed(1) - parseInt(_options.display_value)) === 0 ? parseInt(_options.display_value) : parseFloat(_options.display_value).toFixed(1);
var hideHistory = ('#hide_history#'!='#'+'hide_history#') ? "#hide_history#" : "off";
var version = ('#version#'!='#'+'version#') ? "#version#" : "";
var largeurPx = "20";
if (version === 'dashboard'){
largeurPx = ('#largeurDashboardPx#'!='#'+'largeurDashboardPx#') ? "#largeurDashboardPx#" : "20";
}else{
largeurPx = ('#largeurMobilePx#'!='#'+'largeurMobilePx#') ? "#largeurMobilePx#" : "20";
}
// borne Min et max largeur
if (largeurPx<20){
largeurPx = 20;
}else if (largeurPx>29){
largeurPx = 29;
}
var largeurWidget = 80 + parseInt(largeurPx);
var hauteurPx = (largeurPx * 64 / 20);
largeurPx = largeurPx + 'px';
var hasCommandIcon = cmd.find('.title div.cmdName i').is('i');
var hasCommandName = cmd.find('.title div.cmdName').text().length > 0;
var pos =10;
if (hasCommandName || hasCommandIcon){
cmd.find('.title').css('cssText', 'padding-bottom: ' + pos + 'px !important;');
pos=0;
}
if (taux >= 0 && taux < 10){
imgNumber = '00';
}else if (taux >= 10 && taux < 20) {
imgNumber = '01';
}else if (taux >= 20 && taux < 30) {
imgNumber = '02';
}else if (taux >= 30 && taux < 40) {
imgNumber = '03';
}else if (taux >= 40 && taux < 50) {
imgNumber = '04';
}else if (taux >= 50 && taux < 60) {
imgNumber = '05';
}else if (taux >= 60 && taux < 70) {
imgNumber = '06';
}else if (taux >= 70 && taux < 80) {
imgNumber = '07';
}else if (taux >= 80 && taux < 90) {
imgNumber = '08';
}else if (taux >= 90 && taux < 100) {
imgNumber = '09';
}else{
imgNumber = '10';
}
cmd.find('#hygro#id#').empty().append('<img class="hygroImg" src="data/img/hygrometer' + imgNumber + '.png"></img>');
cmd.find('.hygroImg').css('cssText', 'width:' + largeurPx + ' !important;');
var imgMaxHeight = 93;
var imgMinHeight = 70;
cmd.find('div.content-sm').css('cssText','height: ' + imgMinHeight +'px !important;min-height: ' + imgMinHeight +'px !important; max-height: ' + imgMaxHeight + 'px !important;display: table-cell !important')
if (hauteurPx>imgMinHeight){
pos = (hauteurPx - imgMinHeight)/2;
}
cmd.attr('title','Date de valeur : '+_options.valueDate+'<br/>Date de collecte : '+_options.collectDate)
cmd.find('.state').empty().append(taux);
var positionTop = 0;
if (hideHistory == 'hidden'){
var positionTop = 25 + pos;
}
else{
cmd.find('div.statsPart1').css('cssText', 'padding-top: ' + (pos) + 'px !important;text-align: left !important');
var positionTop = pos;
}
cmd.find('.stats').css('line-height', '10px');
var cssCurrentValue = 'position: relative !important;top: ' + positionTop + 'px !important;';
var cssCurrentValueUnit = 'position: relative !important;top: ' + (positionTop) + 'px !important;';
var widthValue = 58;
if ('#version#' === 'dashboard') {
if (!isEarlierVersion('4.4.0')){
var cssCurrentValueUnit = cssCurrentValue;
var widthValue = 59;
}
}
cmd.find('.unitValue').css('cssText', cssCurrentValueUnit );
cmd.find('.state').css('cssText', cssCurrentValue + 'font-size: 15px !important;');
cmd.find('div span.tooltips').css('cssText', 'word-break:normal;font-size: 10px !important;font-weight: normal !important;');
cmd.css("padding-bottom", "15px");
cmd.css("width", largeurWidget + "px");
cmd.find('.img').css('height', hauteurPx + 'px');
cmd.find('.img').css('width', largeurPx);
cmd.find('.val').css('height', hauteurPx + 'px');
cmd.find('.val').css('width', widthValue + 'px');
}
jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
</script>
</div>
Bonjour Heliospeed,
C’est tout bon, merci beaucoup !!!
Je te souhaite une bonne journée et bonne continuation.
Et merci pour le travail que vous faîtes et de votre rapidité de réponse.
Novice que je suis, je prends des heures et des heures à reprendre mes design depuis la màj en 4.4, et j’abandonnerai presque car cela dépasse mes compétences, et quand je vois certaines réponses déroutantes, parce que nous sommes encore un certain nombre de novices qui ose demander de l’aide, malgré nos recherches antérieures.
Donc merci pour ton professionnalisme et humanisme.
Je viens de refaire 2 nouvelles versions sans ajouter de paramètres optionnels. Du coup pour le moment par défaut on est sur la taille des images (29px) de large.
Pouvez-vous me donner vos avis avant que je ne remplace la version ? Je suis reparti d’un widget core v4.4 pour m’assurer que ça sera pérenne dans le temps. J’ai essayé de rajouter le moins de chose possible pour ne pas alourdir l’interface.
Je suis pas un expert js ou ces, je pense avoir trouvé une combinaison qui fonctionne aussi avec les mobile.
Bonjour
Merci pour ton partage mais j’ai fait un copié collé de ton code, mis le paramètre de la taille à 29 pour augmenter la taille de la goutte. Mais le texte est maintenant décalé
Je suis en jeedom 4.4.5
Y a-t-il un paramètre à modifier pour aligner le pourcentage vers le haut
Merci pour ta réponse
Je ne connais pas le widget de la goutte, sais-tu ou je peux trouver le code pour regarder.
Après je suis pas un expert, je bidouille pour essayer d’arriver à mes fins
Je n’ai pas ces PNG de gouttes, peux-tu m’en envoyer juste un exemple dans cette discussion que je regarde ou me donner la taille de l’image. Ceux que j’avais (qui ressemble a un thermomètre font 29 pixels de large et me dit que si la taille n’est pas la même ça risque de tout décaller.