Je voudrais exposer un problème épineux que j'ai avec le plugin Widgets et je vais essayer d'être le plus clair possible.
J'ai créé un widget à partir du wizard pour afficher l'état de mes volets battants et de ma fenêtre avec un seul graphique. Jusque là, rien de terrible, c'est un widget relativement simple de type numérique (je mets le code plus bas)
Le problème est que j'ai 4 équipement (4 portes fenêtres donc) qui utilise ce widget et que quelle que soit la PF que j'ouvre, c'est toujours le même équipement qui est modifié (image mise à jour). Vous allez me dire, il a juste codé le virtuel avec ses pieds c'est tout, mais non, c'est le bon équipement qui a sa valeur d'état modifiée mais le refresh se fait sur le mauvais équipement.
Je pense que c'est un problème plus profond car si je fais un F5, pas de soucis, j'ai la bonne image sur le bon équipement. C'est uniquement le refresh "dynamique" qui est incorrect.
J'ai un Jeedom smart, dernière version à jour 3.3.24, j'utilisais un widget pas à jour avant, qui du coup ne se rafraichissait pas dynamiquement, et j'ai juste récupéré les images pour faire un widget from scratch (enfin via l'assistant) pour avoir le refresh.
Voilà, j'espère avoir été clair, je précise que j'ai tenté, en vain, de chercher un fil qui relaterait du même problème mais à part tout ceux traitant du non rafraichissement suite au passage en 3.3, je n'ai rien vu.
Merci par avance pour votre aide
Code : Tout sélectionner
<div style="min-width:120px; min-height:80px;" class="cmd tooltips cmd-widget cursor container-fluid" data-type="info" data-subtype="numeric" data-cmd_id="#id#" data-cmd_uid="#uid#">
<center>
<div style="font-weight: bold;font-size : 12px;#hideCmdName#">#name_display#</div>
<span style="font-size: 2.5em;" class="iconCmd center-block"></span>
<div style="#displayHistory# font-size: 0.8em;" class="col-xs-12 center-block">
<span title="Min" class="tooltips">#minHistoryValue#</span>|<span title="Moyenne" class="tooltips" >#averageHistoryValue#</span> | <span title="Max" class="tooltips">#maxHistoryValue#</span> <i class="#tendance#"></i>
</div>
</center>
<!-- Ne Pas Supprimer -->
<script class="createWidgetInfo" type="text/javascript">//<![CDATA[{"type":"1","version":"1","size":"2.5","min":["0","2","4","6"],"max":["1","3","5","7"],"images":["Shutter_and_Window-0.png","Shutter_and_Window-1.png","Shutter_and_Window-100.png","Shutter_and_Window-101.png"]}]]></script>
<!-- Ne Pas Supprimer -->
<script>
var srcImg = 'plugins/widget/core/template/dashboard/cmd.info.numeric.Volet_Fenetre/';
var iconUpdate = function (state){
$('.cmd[data-cmd_uid=#uid#] .iconCmd').empty();
if (state == 0) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img style="display: inline-block;" src="'+srcImg+'Shutter_and_Window-0.png">');
}
if (state == 1) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img style="display: inline-block;" src="'+srcImg+'Shutter_and_Window-1.png">');
}
if (state == 100) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img style="display: inline-block;" src="'+srcImg+'Shutter_and_Window-100.png">');
}
if (state == 101) {
$('.cmd[data-cmd_uid=#uid#] .iconCmd').html('<img style="display: inline-block;" src="'+srcImg+'Shutter_and_Window-101.png">');
}
};
jeedom.cmd.update['#id#'] = function(_options){
$('.cmd[data-cmd_uid=#uid#]').attr('title','Valeur du '+_options.valueDate+', collectée le '+_options.collectDate)
iconUpdate(_options.display_value);
}
jeedom.cmd.update['#id#']({display_value:'#state#',valueDate:'#valueDate#',collectDate:'#collectDate#',alertLevel:'#alertLevel#'});
</script>
</div>