Bonjour,
Je lance une bouteille a la mère pour avoir de l’aide pour la création d’un minuteur qui décompte à la seconde.
J’ai trouvé un code qui le fait dans un sujet (lien ci-dessous) mais je ne comprends pas comment l’applique a un Widgets.
Y a-t-il une âme charitable pour me faire une explication pour les nuls ?

<!-- WIDGET SPECIFIQUE widget "tps_restant"
Modifications :
_options.display_value > javascript_timestamp (ligne 33
Mise à jour :
- Le 2020/2/20 : conforme jeedom v4.0.40
-->
<div class="cmd cmd-widget" style="min-width:90px;min-height:50px;margin-right: 5px;margin-left: 5px;padding:0px !important;" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="Valeur du #valueDate#, collectée le #collectDate#">
<center>
<div class="title #hide_name#">
<div class="cmdName">#name_display#</div>
</div>
<div>
<span style="line-height: 32px;font-size: 2.5em;font-weight: bold;" id="countdown_#id#_decompte">--</span>
</div>
</center>
<script>
//var now = null;
// console.log($('#countdown_#id#_decompte').text);
jeedom.cmd.update['#id#'] = function(_options){
var thisdate = new Date();
var actualdate = (thisdate.getTime());
var timestamps = actualdate / 1000;
var javascript_timestamp = Math.round(timestamps);
// console.log("temp_reel "+javascript_timestamp);
// console.log("temp_valeur "+_options.display_value);
var timestamp = parseFloat(_options.display_value);
$(function (e) {
if (timestamp > javascript_timestamp) {
// var tps_restant == null;
interval#id# = setInterval(function () {
var now = (new Date()).getTime(); // On déclare la date d'aujourd'hui.
var tps_restant =timestamp*1000 - now; // Temps restant en millisecondes
// console.log("interval("+intervalId+")");
if (!$('#countdown_#id#_decompte').length || timestamp < javascript_timestamp || tps_restant < 0) {
// console.log("clearInterval("+intervalId+")");
clearInterval(interval#id#);
$('#countdown_#id#_decompte').text('--');
} else {
//============ CONVERSIONS
var s_restantes = tps_restant / 1000; // Secondes restantes
var i_restantes = s_restantes / 60; // Minutes restantes
var H_restantes = i_restantes / 60; // Heures restantes
s_restantes = Math.floor(s_restantes % 60); // Secondes restantes
i_restantes = Math.floor(i_restantes % 60); // Minutes restantes
H_restantes = Math.floor(H_restantes); // Heures restantes
//==================
//============ FORMATTAGE
s_restantes = s_restantes < 10 ? "0"+ s_restantes : s_restantes;
i_restantes = i_restantes < 10 ? "0"+ i_restantes : i_restantes;
H_restantes = H_restantes < 10 ? "0"+ H_restantes : H_restantes;
//==================
if (H_restantes > 0) {
$('#countdown_#id#_decompte').text(H_restantes + ":" + i_restantes + ":" +s_restantes);
} else {
$('#countdown_#id#_decompte').text(i_restantes + ":" +s_restantes);
}
}
}, 1000);
}else {
clearInterval(interval#id#);
$('#countdown_#id#_decompte').text('--');
;
e.stopPropagation();
}
});
}
jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
</script>
</div>
