L’id de mon info est #41#
Je butte sur le code js
Je ne sais pas quel(le)s #id# il faut changer et surtout s’il faut les changer par #41# ou 41
Auriez-vous un post à suivre, que je n’ai pas trouvé, afin de comprendre la logique ?
Je vous remercie par avance.
Je vais répondre a ta question, mais tu es sur la mauvaise voie :
Tous les #id# sont a remplacer par 41
Voici ce qu’il va se passer avec ton code :
A l’initialisation : Tout les tag (#Name_display#, #state#, #unite# …) ne seront pas remplacés, car c’est le core qui est censé faire ce job. Tu auras donc un affichage très bizarre.
c’est ensuite, lorsque la commande sera rafraichi (on ou off par ex), que les tag (#state#…) seront remplacé par le core.
Pour pouvoir insérer une commande et tout ce qui va bien avec (tag, script…) dans une page html, il faut simplement utiliser les fonctions du core.
Et pour ton cas c’est la fonction jeedom.cmd.toHtml, celle-ci renvoie le code html (script inclus) de la commande en question.
Son utilisation :
Avant tout dans ton code, il faut insérer un noeud (DOM) pour pouvoir avoir un sélecteur et ainsi insérer le contenu html dedans :
<div id="mon-contenu"></div>
Ensuite utilisation de la fonction du core :
<script>
// on verifie avant tout que le selecteur (mon-contenu) est bien existant dans le DOM.
// et si existant, il sera consigné dans la variable 'cmd'.
if (is_object(cmd = document.getElementById("mon-contenu"))) {
jeedom.cmd.toHtml({
id: 41, // Id de la commande
version: 'dashboard', // version du template (dashboard ou mobile)
global: false,
noDisplayError: true,
success: function(data) { // si la fonction réussi, 'data' contiendra le code html
var html = domUtils.parseHTML(data.html).childNodes[0]
cmd.empty().appendChild(html) // on insère le résultat dans le selecteur 'cmd' (mon-contenu)
}
})
}
</script>
Merci pour la réponse c’est exactement ce que je cherchais.
Et encore merci pour les commentaires dans le script, c’est très précieux.
Effectivement je n’étais pas sur la bonne voie.
J’ai vu qu’il existait une doc pour toutes les commandes du core ( API Documentation) mais pas facile pour moi de m’y retrouver.
Je vais essayer de trouver un site ou un tuto pour en apprendre un peu plus.