Décompte à la seconde / Widgets v4

bonjour, on va réfléchir ensemble
on donne la variable timestamp la valeur (format timestamp) « 1582235770 »

var timestamp = parseFloat(_options.display_value);
ensuite dans le code
if (timestamp > 0) {

elle le sera toujours
donc si au lieu de 0 on y met le timestamp actuel

if variable > temps format timestamp

ScrollPage

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

reste à annuler la fonction ci celle ci est déjà activé

1 « J'aime »