Masquer une information suivant sa valeur

Bonjour,

Je suis passé en V4 il y a quelques semaines.
J’utilise plusieurs design, notamment pour affichage sur un tablette dédiée.

En V3 j’avais fait pas mal de Widget perso que j’ai « migrés » en V4 avec le plugin désormais standard. La plupart de mon besoin est couvert :slight_smile:

Cependant j’avais réalisé un widget perso d’affichage de texte avec une condition sur la valeur : Si la valeur > 0 alors la valeur s’affichait. Si valeur <= 0 alors rien d’affiché.

L’utilité : j’affiche des timers (décompte) sur mon design. Lorsque la valeur est positive elle est affichée, je connais ainsi à tout moment le temps restant avant la fin. Lorsque la valeur est arrivée à 0, je la masque puisqu’elle n’a plus d’utilité.

Je ne sais pas comment reproduire cette gestion de visibilité sur le design.

A noter que je n’ajoute pas des équipements sur mon design mais les commandes une par une (meilleure gestion de leur positionnement…).

Quel serait la meilleure manière de masquer cette commande (info) sur mon design en fonction de sa valeur ?

Je vous remercie de vos idées.

Bonjour,
J’ai un besoin un peu similaire. Lorsque je lance mon lave-linge, j’affiche la puissance dans un widget que je masque quand la machine est finie.
Pour faire ça, je prends comme triggger la puissance consommée du LL. Lorsqu’elle est nulle, je masque l’équipement virtuel me montrant la puissance, lorsqu’elle est non nulle, je l’affiche.

Bonjour,

tu peux le faire via scénario et bloc code :
cmd::byId(Numéro ID)->setIsVisible(0)->save();
cmd::byId(Numéro ID)->setIsVisible(1)->save();

Merci pour vos réponses.

@mich0111 : comment gères-tu l’affichage / masquage de ton Widget ? Et par curiosité quel module utilises-tu pour suivre la consommation de ton LL ?

@Alciol : ce matin en cherchant une solution je suis tombé sur la façon de faire que tu expliques. Cela coche ou décoche la case « Afficher » de la commande / info dans l’équipement. Et cela fonctionne si j’affiche tout l’équipement sur le design. Cependant si on n’affiche que la commande sur le design, cela ne tient pas compte du paramètre « Afficher ».

Voici un exemple avec un Virtuel créé pour l’occasion.

→ Actif et Visible

Commandes de cet équipement :

→ Très simple : 2 informations visibles

Sur un Design je positionne l’équipement (clic droit, ajouter un équipement) :
Design Eqp TestVisible

Pour la comparaison, sur le même Design, je positionne la commande 1 de cet équipement (clic droit, ajouter une commande) et idem pour la commande 2.
J’arrive donc à cela :
Design Eqp Cdes TestVisible

Maintenant je fais des essais :
Je rends « non visible » l’info 2 :

Voici le résultat sur le Design :
Design Eqp Cdes TestVisible 2

Sur le Design, l’information 2 a bien disparue dans l’équipement mais pas celle que j’ai posée en tant que « commande » (clic droit, ajouter une commande).

C’est dommage initialement, j’avais imaginé lancer la commande « cmd::byId(Numéro ID)->setIsVisible(0)->save(); » dans la fin de mon scénario qui gère mon décompte.

D’ailleurs, complément d’information, sur la page principale de l’équipement, si je le rend non visible (je décoche la case « visible »), cela n’a aucune action sur le design, tout reste affiché.

Pas besoin de bloc code même si j’en fais pas mal.
J’ai 2 scénarios, un pour le démarrage, l’autre pour l’arrêt. Quan un est actif, l’autre est inactif. Ces scénarios me permettent de savoir quand le cycle est terminé et me préviennent par SMS.

Au démarrage du LL, je me contente d’afficher l’équipement dans le scénario qui gère le lave-linge. Son déclenchement est provoqué par une puissance de conso > 60W.
J’attend au début 2mn pour être sur qu’il s’agit bien d’un démarrage et pas un appui accidentel.

A la fin du cycle, c’est ce scénario qui gère la fin avec un trigger de puissance < 1,5W et même chose sur le sleep initial.

J’utilise un wall-plug fibaro sur lequel est branché mon LL.
Ca fait un sacré bout de temps que ça fonctionne comme ça.

De cette manière tu rend invisible l’équipement et non une seul commande d’un équipement.

@mich0111: Ok, je suis en RFxCom, je pense utiliser un OWL avec des pinces, c’est pour cela que cela m’intéressait :slight_smile:

Je suis d’accord avec Aliciol, tu rends invisibles l’équipement en entier et pas seulement la commande. Et comme je l’ai montré plus haut, rendre invisible une commande n’a pas d’effet sur le Design si elle est ajouté unitairement.

J’aimerais bien avoir un avis de l’équipe de dév sur le sujet car soit c’est une « anomalie », soit c’est fait de manière délibérée et dans ce cas, quel est le contournement ?

1 « J'aime »

Exact, c’est pour ça que j’ai créé un virtuel sur cet info.
Moins élégant que ce que tu proposes mais quand ça marche je ne touche plus sauf à avoir une excellente raison de mettre en cause (performance, bug, fiabilité, …).

Oui voilà, tu dois créer un autre équipement (un virtuel) avec cette commande.
Cela fait beaucoup de virtuel pour l’occasion.

J’ai ouvert un autre sujet concernant la représentation sur différentes pages (plusieurs design, le dashboard…) pour laquelle je n’ai pas trouvé d’autre solution que faire des virtuels différents.

On arrive vite à un magasin de virtuel pour des fonctionnements qui je pense, pourrait être géré directement dans l’équipement de base.

A suivre si certains (ou l’équipe de dév) à d’autres propositions, idées…

Il n’y a pas d’anomalie, si tu veux masquer une commande ou une info dans un équipement tu peux faire comme le montre @Alciol.

Le problème de cette méthode est que ton widget va être bâtard.
Il sera taillé pour l’ensemble des commandes définies lolrsqu’elles sont toutes présentes.
Si tu en masques une dynamiquement, le widget cornservera la même taille avec un espace vierge.
C’est aussi pour ça que je passe par un virtuel pour n’avoir que cette info qui apparaise ou disparaisse.

@mich0111 : Ok, mais c’est pour cela que je n’affiche jamais un équipement en entier sur mon Design, mais plutôt chaque commande indépendamment.

Et dans mon cas, la commande a beau être mise comme « ne pas afficher » (case décochée), elle est visible sur le design.

Tu as aussi la possibilité d’un HTML
qui surveille ta valeur et qui selon le cas affiche/cache

Exemple pour un retour valeur

La team de Jeedom a suffisamment de travail comme ça pour se consacrer aux souhaits de chacun des utilisateurs.
Leurs principales missions est de faire évololuer Jeedom et de corriger les bugs.
Ici, l’aide essentielle est fournie par la communauté et c’est très bien comme ça.

:slight_smile:
Si on ne peut plus soumettre d’idée d’utilisateurs… :slight_smile:

En tout cas dans le scénario, je ne connaissais pas l’action « équipement » qui n’est pas dans la liste des actions, mais qu’on peut taper à la main. Il y en a d’autres comme cela ?

@ajja17orange : aurais-tu un exemple de la démarche (ou un post du forum / tuto qui l’expliquerait ? j’avais fait ce genre de chose en V3 directement dans un Widget perso. En V4 je ne sais pas trop comment le faire…)

Alors tu as un autre problème, si tu décoches « Afficher » d’une commande ou d’une info, elle ne doit pas s’afficher.
C’est même fait pour ça.

Un exemple d’utilisation

J’affiche via
$(‹ #report2 ›).text(valeur_courante);

Sinon un if valeur_courante < 50
Data_plan ou class ou div a cacher

@ajja17orange : merci je vais creuser.

@mich0111 : je te laisse bien relire mon post détaillé (avec images) ci-dessus et te propose que tu fasses la même chose et me montrer que chez toi cela fonctionne. Je parle bien de rendre non visible une commande posée sur une design par « clic droit, ajouter une commande »

CTRL F5 peut-être