Décompte à la seconde dans un Widgets v4

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 ?

image

<!-- 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>

La pauvre, qu’a t’eĺle fait pour mériter cela ? :grin:

Antoine

4 « J'aime »

Bonsoir,

Il y a une explication assez détaillée dans ce même post, tu l’as vu ?

Bonjour,
Merci Bison, ton message ma périmée d’avancer dans ma recherche.
Suite à cela j’ai pu avancer et avoir quelque chose de fonctionnel avec un Timer qui lance une prise le temps dit.
Mais je voudrais améliorer le curseur pour choisir le temps.
image

Avez-vous une idée de la façon de faire pour avoir la consigne en temps (Minute:Second) ?