Suite du sujet Décompte à la seconde / Widgets v4 :
Désolé de détérer ce sujet, mais le code ne fonctionne pas ou plus?
le code bute sur :
ReferenceError: clientServerDiffDatetime is not defined
et ensuite sur clientServerDiffDatetime
Avez vous une idée svp?
Merci
Simon
Il fonctionne bien chez moi je m’en sert une fois par semaine si tu as bien pris le bon.
<!-- CUSTOM WIDGET "tps_restant_v4.3"
Community link: https://community.jeedom.com/t/widget-decompte-a-la-seconde-tps-restant/99012
Updated on: 2023-01-08
Versions supported: Jeedom v4.3
Last Modification: use v4.3 js (jeeFrontEnd, jeedom.cmd.addUpdateFunction, jeedom.cmd.refreshValue)
-->
<div class="tooltips cmd cmd-widget" 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#">
<span class="cmdName">#name_display#</span>
</div>
<div class="content-sm">
<div class="state"></div>
</div>
<script>
jeedom.cmd.addUpdateFunction('#id#', function(_options) {
$('.cmd[data-cmd_id=#id#]').attr('title', '{{Date de valeur :}} '+_options.valueDate+'<br/>{{Date de collecte :}} '+_options.collectDate);
$('.cmd[data-cmd_id=#id#]').attr('interval', );
if ($('.cmd[data-cmd_id=#id#]').attr('interval')) {
clearInterval($('.cmd[data-cmd_id=#id#]').attr('interval'));
$('.cmd[data-cmd_id=#id#]').removeAttr('interval');
}
var timestamp = parseFloat(_options.display_value);
if (timestamp > 0) {
$('.cmd[data-cmd_id=#id#]').attr('interval', setInterval(function () {
var dateLoc = new Date;
var time_left = timestamp * 1000 - (dateLoc.getTime() + (dateLoc.getTimezoneOffset() + jeeFrontEnd.serverTZoffsetMin) * 60000 + jeeFrontEnd.clientServerDiffDatetime);
if (!$('.cmd[data-cmd_id=#id#] .state').length || timestamp < 0 || time_left < 0) {
if ($('.cmd[data-cmd_id=#id#]').attr('interval')) {
clearInterval($('.cmd[data-cmd_id=#id#]').attr('interval'));
$('.cmd[data-cmd_id=#id#]').removeAttr('interval');
}
//====== Modif pour afficher 00:00 $('.cmd[data-cmd_id=#id#] .state').empty();
$('.cmd[data-cmd_id=#id#] .state').empty().append("00:00");
} else {
//============ CONVERSIONS
var s_left = time_left / 1000;
var i_left = s_left / 60;
var H_left = i_left / 60;
s_left = Math.floor(s_left % 60);
i_left = Math.floor(i_left % 60);
H_left = Math.floor(H_left);
//============ FORMATTING
s_left = s_left < 10 ? "0"+ s_left : s_left;
i_left = i_left < 10 ? "0"+ i_left : i_left;
H_left = H_left < 10 ? "0"+ H_left : H_left;
//============ DISPLAY
if (H_left > 0) {
$('.cmd[data-cmd_id=#id#] .state').empty().append(H_left + ":" + i_left + ":" +s_left);
} else {
$('.cmd[data-cmd_id=#id#] .state').empty().append(i_left + ":" +s_left);
}
}
}, 1000));
} else {
if ($('.cmd[data-cmd_id=#id#]').attr('interval')) {
clearInterval($('.cmd[data-cmd_id=#id#]').attr('interval'));
$('.cmd[data-cmd_id=#id#]').removeAttr('interval');
}
//====== Modif pour afficher 00:00 $('.cmd[data-cmd_id=#id#] .state').empty();
$('.cmd[data-cmd_id=#id#] .state').empty().append("00:00");
}
});
jeedom.cmd.refreshValue([{cmd_id :'#id#',display_value: '#state#', valueDate: '#valueDate#', collectDate: '#collectDate#', alertLevel: '#alertLevel#', unit: '#unite#'}]);
</script>
</div>
system
A fermé ce sujet ()
4
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.