J'essaye de faire un compte à rebours sur un design en utilisant un virtuel et le code du widget qui a été donné plus haut :
Code : Tout sélectionner
<!-- WIDGET SPECIFIQUE adapté du widget standard "countdown"
Modifications :
- Remplacement de style="display: block;" par style="min-width:90px;min-height:62px;margin-right: 5px;margin-left: 5px;padding:0px !important;"
- Remplacement de title="#collectDate#" par title="Valeur du #valueDate#, collectée le #collectDate#"
- Mutualisation de #countdown_#id#_#state#_h, #countdown_#id#_#state#_m, et #countdown_#id#_#state#_s en #countdown_#id#_#state#_decompte
- Suppression de class='label label-default'
- Ajout calcul de #countdown_#id#_#state#_decompte affichant si nécessaire les heures
- Remplacement de la valeur par défaut par --
Mise à jour :
- Le 2016/11/19 : Correction d'une erreur d'écriture
- Le 2016/04/11 : Création
-->
<div style="min-width:90px;min-height:62px;margin-right: 5px;margin-left: 5px;padding:0px !important;" class="tooltips cmd cmd-widget" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="Valeur du #valueDate#, collectée le #collectDate#">
<center>
<span style="font-weight: bold;font-size : 12px;" class="cmdName">#name_display#</span><br/>
<span style="font-size: 2em;font-weight: bold;" id="countdown_#id#_#state#_decompte">--</span>
</center>
<script>
if ('#background-color#' !== '#'+'background-color'+'#') {
$('#cmd#id# .label').css({'background-color':'#background-color#'});
}
$(function () {
if ('#state#' > 0) {
var intervalId = setInterval(function () {
var now = (new Date()).getTime(); // On déclare la date d'aujourd'hui.
var tps_restant = '#state#'*1000 - now; // Temps restant en millisecondes
// console.log("interval("+intervalId+")");
if (!$('#countdown_#id#_#state#_decompte').length || '#state#' < 0 || tps_restant < 0) {
// console.log("clearInterval("+intervalId+")");
clearInterval(intervalId);
$('#countdown_#id#_#state#_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#_#state#_decompte').text(H_restantes + ":" + i_restantes + ":" +s_restantes);
} else {
$('#countdown_#id#_#state#_decompte').text(i_restantes + ":" +s_restantes);
}
}
}, 1000);
}
});
</script>
</div>
Néanmoins quand je lance mon scénario pour initialiser la variable de début du widget avec #timestamp# +100 ça ne rafraîchit pas le virtuel ni sur le dashboard ni sur le design. il faut que je fasse F5.
Je me dis que cela provient peut être de l’incompatibilité de certain widget avec la nouvelle version de jeedom mais je n'y connais pas grand chose ... ( je ne fais que recopier du code et le modifier pour avoir ce que je souhaite )
Est ce que quelqu'un a aussi le problème ?
Une solution ?
Merci d'avance,