Je suis en train de m'arracher les cheveux sur un sujet qui a l'air simple. J'ai créé un widget qui contient deux boutons (pour activer un espeasy) et du texte:
Code : Tout sélectionner
<div class="cmd cmd-widget reportModeHidden" data-type="action" data-subtype="message" data-cmd_id="#id#" data-cmd_uid="#uid#" data-version="#version#" data-eqLogic_id="#eqLogic_id#" style="width: 130px;">
<div style="font-family: Arial;font-size: 12px">#tache_esp#</div>
<div>
<span class='btn btn-success btn-xs' id="b_off#uid#">OFF</span>
<span class='btn btn-success btn-xs' id="b_auto#uid#">AUTO</span>
</div>
<script>
function configure_esp (etat) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) alert("transmission OK");
}
xmlHttp.open("GET", "http://#ip_esp#/control?cmd=config,task,#tache_esp#,setstatus,"+etat, true); // true for asynchronous
xmlHttp.send(null);
alert("Configuration envoyée à #ip_esp# tâche #tache_esp#: "+etat);
}
document.getElementById("b_off#id#").onclick = function () { configure_esp(0); };
document.getElementById("b_auto#id#").onclick = function () { configure_esp(1); };
</script>
</div>
Je crée ensuite un virtuel utilisant deux fois ce widget (une fois pour le thermostat, et une autre pour l'hygrostat): Avec les configurations d'affichage suivantes pour chaque widget: Idem pour l'hygromètre, adresse Ip idendique et le tache_esp vaut "Hygrostat".
Le visuel est correct (je le posterai dans un prochain message car je suis coincé au niveau des images jointes).
Que j'appuie sur les commandes du thermostat ou de l'hygrostat, les commandes sont envoyées systématiquement vers l'hygrostat, et ce malgré le #uid# mis dans l'id de chaque bouton pour rendre le nom unique.
Qu'est-ce que j'ai raté, sachant que je n'ai volontairement pas inclu le code permettant le rafraichissement du widget (depuis la V3) car je n'en ai pas besoin. Je pense que le problème vient de mon widget, et non du virtuel.
Merci d'avance!