J’ai fait la modification mais cela ne change rien à l’affichage, le bouton apparaît toujours quelque soit le statut du contact erreur
Cela fonctionne très bien, l’action est bel et bien lancée.
J’ai fait la modification mais cela ne change rien à l’affichage, le bouton apparaît toujours quelque soit le statut du contact erreur
Cela fonctionne très bien, l’action est bel et bien lancée.
Hello,
perso j’utilise pas mal de widget qui s’affiche si état ON sur différents design et j’utilise un virtuel qui récupère l’état :
et le widget info juste sur le ON
Oui, c’est ce que je proposais de faire mais j’ai mal expliqué apparemment
@Droopy Et est-ce que la commande etat à la bonne valeur?
Il faut peut-être essayer avec un autre widget type BinaryDefault. Le widget par défaut ne cache rien. Et si ça marche pas, changer le nom off par on pour si c’est pas inversé.
Oui je pense , avec quelque screen ça aide a mieux comprendre j’en ai tellement des widgets qui s’affiche que je sais plus ou ils se cache sur les design
Yes, cela fonctionne avec BinaryDefault
Voilà le résultat avec le widget personnalisé
Merciiiiiiiiiiiiiiiii
Bonjour Bison,
Merci pour cette commande, qui me resservira sans aucun doute (et que je ne connaissais pas…)
Mais je viens de l’essayer et…
Elle fonctionne effectivement sur le Dashboard, mais pas sur un Design ! (je viens d’essayer sur une commande de type Information que j’aurais aimer cacher dans certain cas)
Je me permet de reprendre la question de base, car elle me parait très intéressante.
Ainsi:
a. Dans une prochaine version de Jeedom : Serait-il facile ou difficile d’ajouter, dans les paramètres d’une action ou d’une information cette fameuse case « Afficher » ?? Qui permet de gérer très facilement un affichage en fonction du résultat d’un test booléen (Info X = 1 / Info X > Y / etc…)
(ici en bref :
b. Existe-t-il déja une manière de faire (moins accessible) via un bloc code (dans un scénario), ou… autres chose ?
Salut,
Je tenterai de trouver un moyen pour que ce soit possible sur un design, je ne savais pas que ça n’était pas pris en compte.
Sinon je suis bien d’accord cette gestion dynamique manque et je n’ai pas la réponse à tes questions mais je vais essayer de creuser ce sujet.
Je suis intéressé aussi
bonjour
tu as en php le setisvisible qui marche « scénario code défini plus haut » mais pour le fun une méthode (b) une methode js
avec le plug htmldisplay qui va définir tous les ‹ #id ›
La lampes affiche ou cache le bouton 2 de la Vmc
tu as via dashboard et design bouton présent ou non
<span id="pipo">observe lampes</span>
<div id="report#id#">
</div>
<script>
let id_surveil#id# = 76;
let id_hide#id# = 85;
// la fonction à effectuer
function maFonction#id#(la_valeur)
{
if (la_valeur == 1 ) {
$('.cmd[data-cmd_id="'+id_hide#id#+'"]').css("visibility", "hidden");
} else {
$('.cmd[data-cmd_id="'+id_hide#id#+'"]').css("visibility", "visible");
}
}
//vérification si l'id surveillance est visible sur l'écran
if ($("div[data-cmd_id="+id_surveil#id#+"]").length == 1){
// oui donc on surveille son update
var elem#id# = '.cmd[data-cmd_id="'+id_surveil#id#+'"]';
var targetNode#id# = document.querySelector(elem#id#);
// Options de l'observateur (quelles sont les mutations à observer)
var config#id# = { attributes: true, childList: true };
var execute#id# = function() {
jeedom.cmd.execute({ id: id_surveil#id#, success: function(valeur_courante) {
$('#report#id#').text(valeur_courante);
maFonction#id#(valeur_courante);
}
})
};
// Créé une instance de l'observateur lié à la fonction de callback
var observer#id# = new MutationObserver(execute#id#);
// Commence à observer le noeud cible pour les mutations précédemment configurées
observer#id#.observe(targetNode#id#, config#id#);
} else { // non donc on utilise l'api
jeedom.cmd.update[id_surveil#id#] = function(_options){
jeedom.cmd.execute({ id: id_surveil#id#, success: function(valeur_courante) {
$('#report#id#').text(valeur_courante);
maFonction#id#(valeur_courante);
}})
};
jeedom.cmd.update[id_surveil#id#]();
};
</script>
Je viens d’essayer, pourtant ça fonctionne chez moi sur le dashboard et sur mon design le setIsVisible.
La commande est bien caché immédiatement.
Je n’ai fait que poser un nouvel équipement sur mon design, il y a peut-être quelque chose vient contrarier l’affichage … ?
Bonjour à tous
@Bison : merci pour la recherche et la réponse.
La même apres avoir lancer le code « cacher » :
Puis en relançant le code avec « monter » :
Dit moi si j’ai loupé un truc que tu vois gros comme une maison.
Sinon, pas grave, on en reparlera un de ces 4…
@ajja17orange
Merci pour cette proposition, mais je suis pas fortiche, je ne connais pas le plug htmldisplay, et mettre en place ta solution me parait aujourd’hui délicat.
De plus, je pense qu’avoir un « disparaitre » uniquement sur le design en question, et uniquement celui-ci est un point important. Car si on a besoin de l’info, sur une autres vue / design / le dash, par exemple, on est eu, sauf à créer un autre virtuel « jumeau » mais ça va resté super lourd…
bref… garde ta solution dans un coin de ma tête, et te remercie de l’avoir envoyé !
Bonne journée à tous.
Salut @Henri,
@Droopy désolé de polluer ton post, si ça gêne Henri pourra re-créer un sujet.
Donc j’ai refait pour voir une commande Autre :
J’ai ajouté tout un équipement virtuel (contenant cette commande) sur mon dashboard et sur mon design :
Dashboard
Design
Je fais tourner le code suivant dans un scénario bloc : cmd::byId(31909)->setIsVisible(0)->save();
Et les 2 disparaissent bien :
Dashboard
Design
Il doit y avoir une subtilité du coup pour que ça ne fonctionne pas à chaque fois.
Tu l’as ajouté comment toi au design cette info autre ?
Pas d’inquiétude, cela m’apprend aussi pas mal de choses
De plus, je pense qu’avoir un « disparaitre » uniquement sur le design en question, et uniquement celui-ci est un point important
Tu peux définir un unique design avec du js
Avec du PHP ça va être plus complexe !
Invisible te ne le permet pas !
C’est sur tous (design, dashboard,…)
Jeedom c’est une caisse a outils, certains vont prendre une pince multiprise pour un boulon d’autre une clef numéro, clef à molette,cliquet,a griffe :
Widget,scénario,…
Encore faut il connaître les outils leur utilisation, spécificite et contraintes.
Et comme tu le dit utilise a propo l’outils que tu maîtrises
(pour mon exemple se n’est que du visu, sans histo « état lampe suffit », log,…) Qui ne demande aucune ressource et qui est générique (j’ai précisé affiche ou cache, mais ça peut être un fond d’écran ou toutes autres chose « ex lance un scénario »)
Le code est un dérivé de cette réponse
Au lieu du plug HTML display un HTML dans design mais si je te propose le plug c’est si tu fais une erreur tu te retrouves a devoir supprimé le design dans la bdd.
Sans entrée dans la polémique jeedom V3 te proposer plus de possibilités et elles ont été enlevés pour simplification et suivie donc je doute qu’ils repartent dans la complexité.
Bonjour A tous.
Bison
C’était bien cela !!!
Ça fonctionne quand on affiche un « Équipement », mais pas une « Commande »
Ci dessous un petit test :
A gauche l’équipement, à droite la commande
Je me souviens pas que cela existait en V3 ? Si ??
Mais il est vrai que je l’ai pas longtemps utilisé .
Et si une case est prévu « Condition d’affichage » : Test booléen (par défaut avec un « 1 » dedans)
C’est ultra simple pour l’utilisateur.
Par contre, c’est peut-être très compliqué de gérer le rafraichissement en temps réel / de tester très régulièrement la formule booléenne …???
Merci Droopy. il va vite se refermé tout seul.
Mais :
je peux toujours faire la demande
Je vais regardé attentivement les propositions.
Peut-être que Bison nous trouvera une super astuce entre temps…
Et j’ouvrirai un sujet, un de ces 4 pour faire un « Point parcours » comme on dit…
Bonne journée à tous…
Good ! OK merci c’était donc ça.
Je vais tenter de développer un début de quelque chose pour voir si on peut avancer de façon simple mais je ne promet rien car je cherche et je suis un peu jeune dev sur Jeedom
élue meilleur blague de ma soirée.
Et pourtant, en ce moment…
…elles sont chargées !!
Je t’assure, tu dois confondre avec quelqu’un d’autre, je n’ai pas encore (j’essaie) publié de plugin
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.