Salut,raphael_malin a écrit : ↑28 mars 2019, 12:22c'est ce genre de widget que j'ai mis un peu partout surtout dans mes designs, pour la température, l'humidité, la puissance, l'intensité et la luminosité.
Si tu as un peu de temps pour modifier le code ou faire un équivalent.
Sympa tes widgets, dure journée donc je ne vais pas me pencher tout de suite dessus mais le code est sympa.
Pour voir quand même je t'ai fait le minimum syndical avec juste l'ajout de la fonction de rafraichissement + ajout du tooltip. On sait jamais, des fois sur un malentendu
Essayes ça et dis moi...
Code : Tout sélectionner
<div item="#id#" style="vertical-align: middle; margin-top: 0px; width: 110px; height: 115px; background:url('plugins/widget/core/template/dashboard/cmd.info.numeric.EeDomus_temp/jauge_temp.png') no-repeat; background-position: center top;" class="cmd #history# tooltips cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="#collectDate#">
<div style="height: 26px; display:block;">#name#</div>
<!--<div class="custom-currentDate" style="height: 26px; font-size: 8.5px;"></div>-->
<!--<div class="custom-lastSensorDate" style="height: 26px; font-size: 8.5px;"></div>-->
<div class="custom-progress" style="margin-top: 0px; margin-left: 3px; width: 66px; height: 66px; background:url('plugins/widget/core/template/dashboard/cmd.info.numeric.EeDomus_temp/jauge_arrow.png') no-repeat; background-size: 66px 66px; background-position: center top;"></div>
<div style="margin-top: 0px;height: 7px;"></div>
<div style="#displayHistory#; font-size: 8.5px; margin-top: 0px;">
<span title='Min' class='tooltips'>#minHistoryValue#</span> | <span title='Moyenne' class='tooltips'>#averageHistoryValue#</span> | <span title='Max' class='tooltips'>#maxHistoryValue#</span> <i class="#tendance#"></i>
</div>
<div class="custom-bottom" style="vertical-align: middle; text-align: center; margin-top: 0px; font-weight: bold; font-size: 14px;"></div>
<script>
jeedom.cmd.update['#id#'] = function(_options){
var state = (is_numeric('#state#')) ? '#state# #unite#' : 'Error';
$("div[item=#id#]").find(".custom-bottom").html(state);
var value = (is_numeric('#state#')) ? parseFloat('#state#') : 0.0;
var minValue = (is_numeric('#minValue#')) ? parseFloat('#minValue#') : 0.0;
var maxValue = (is_numeric('#maxValue#')) ? parseFloat('#maxValue#') : 0.0;
var maxJauge = 280.0;
var rotation = (value-minValue) / (maxValue - minValue) * maxJauge;
rotation = ( rotation > maxJauge ) ? maxJauge : rotation;
$("div[item=#id#]").find(".custom-progress").css("transform", "rotate(" + rotation + "deg)");
var pourcent = (value-minValue) / (maxValue - minValue) * 100;
pourcent = ( pourcent > 100 ) ? 100 : pourcent;
var bottom_bg = "red";
if ( state != 'Error' && pourcent < 33.3 ) { bottom_bg = "green"; }
else if ( state != 'Error' && pourcent < 66.6 ) { bottom_bg = "orange"; }
$("div[item=#id#]").find(".custom-bottom").css("background", "url('plugins/widget/core/template/dashboard/cmd.info.numeric.EeDomus_temp/bottom_" + bottom_bg + ".png') no-repeat");
$("div[item=#id#]").find(".custom-bottom").css("background-size", "100px 18px");
$("div[item=#id#]").find(".custom-bottom").css("background-position", "center top");
// auto detect sensor inactivity in minute
var currentDate = Math.round(new Date().getTime()/1000);
var lastSensorDate = (new Date("#collectDate#")).getTime() / 1000;
var dateDiff = Math.round((currentDate - lastSensorDate) / 60);
// max sensor inactivity delay in minute
var sensorInactivityDelay = "#maxDelay#";
if ( sensorInactivityDelay == "#maxDelay#" ) {
sensorInactivityDelay = -1;
}
$("div[item=#id#]").find(".custom-currentDate").html(dateDiff + ', ' + sensorInactivityDelay);
//$("div[item=#id#]").find(".custom-lastSensorDate").html(lastSensorDate);
$('.cmd[data-cmd_uid=#uid#]').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>