Bonjour à tous,
J’avais ouvert un sujet (https://community.jeedom.com/t/widget-v3-ne-se-met-a-jour-quapres-application-sur-les-commandes/7471) que je pensais résolu (et donc le sujet a été fermé), mais j’ai toujours le même problème.
À savoir, que j’ai un virtuel par sonde qui récupère la température, l’hygrométrie et qui calcule (entre autres) l’état de communication de la sonde température/hygrométrie (temps en secondes depuis la dernière communication). Ce virtuel s’auto-actualise (case « Auto-actualisation (cron) » vide).
Ensuite j’ai un autre virtuel qui centralise les informations de toutes les sondes. Ce virtuel s’actualise toutes les 10 minutes (« * 10 * * * » dans la case « Auto-actualisation (cron) »).
Enfin, un widget me met en forme tout ça :
<div class="cmd" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#">
<center>
<span class="iconCmd#id#"></span>
</center>
<script>
jeedom.cmd.update['#id#'] = function(_options){
var srcImg = 'plugins/widget/core/images/';
var state = parseFloat(_options.display_value);
$('.cmd[data-cmd_uid=#uid#] .iconCmd#id#').empty();
if (state >= 10000) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd#id#').html('<img src="'+srcImg+'del_black.png">');
}
if (state >= 1000 && state <= 9999) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd#id#').html('<img src="'+srcImg+'del_red.png">');
}
if (state >= 500 && state <= 999) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd#id#').html('<img src="'+srcImg+'del_orange.png">');
}
if (state >= 250 && state <= 499) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd#id#').html('<img src="'+srcImg+'del_yellow.png">');
}
if (state >= 100 && state <= 249) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd#id#').html('<img src="'+srcImg+'del_green-light.png">');
}
if (state >= 10 && state <= 99) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd#id#').html('<img src="'+srcImg+'del_green.png">');
}
if (state >= 0 && state <= 9) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd#id#').html('<img src="'+srcImg+'del_blue.png">');
}
$('.cmd[data-cmd_uid=#uid#]').attr('title','Valeur '+_options.display_value+' du '+_options.valueDate+', collectée le '+_options.collectDate)
};
jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
</script>
</div>
Voici le résultat, même avec un F5 ou Ctrl+F5, toutes les états des sondes restent à zéro (led bleue dans le tableau) :
La seule manière d’actualiser l’état des sondes est de faire “Appliquer sur les commandes” au niveau du widget :
Voilà, désolé de reposter et de créer un nouveau sujet, mais je n’arrive pas à trouver de solution à mon problème (j’ai fait les modifications que ajja17orange m’avait dictées, je pensais que ça fonctionnait, mais le problème est toujours là)…
Merci d’avance !