Modifier widget quand appuie

Bonjour,

Je me suis crée un petit widget pour rebooter un équipement (un ESP32) il fonctionne bien en lançant un scenario de relance par contre je souhaiterai lorsque j’appuie dessus qu’il change d’aspect une seconde par exemple pour vérifier qu’il a bien été actionné.

Ma création est assez basique :

Merci.

Bonjour,
C’est assez simple, je le fait assez souvent pour mes propres widgets…

Il faut déjà deux images png :

  • Une pour le bouton en mode actif, comme par exemple :

Bouton tactile_critik_actif

  • Et une autre pour le bouton en mode inactif, par exemple :

Bouton tactile_critik

Ensuite les définir dans un widget type binaire on/off, comme par exemple :

On peut les associer à un virtuel, comme par exemple :

Et enfin, dans le scénario de gestion, il suffit d’introduire un délai d’une ou deux secondes entre l’activation et la fin des actions comme ceci :

Ca va donner l’impression que le bouton s’illumine pendant 2 secs avant de revenir à son état initial…
Comme ceci :

Animation4

2 « J'aime »

Bonjour Daniel,
Merci pour ces précisions
1.J’ai créé 2 widgets binaire
2.Dans mon virtuel j’ai crée 2 actions :


3.Dans la config j’ai commencé à créer le scenario suivant

Par contre comment définis tu le chemin des widgets
image

Bien évidemment qi j’ai bien tout compris

Bonjour,

On lie les widgets « action ON », « action OFF » à l’information virtuelle une fois que le widget binaire est créé.
Voici une méthode pour y parvenir (on peut faire aussi je pense avec du code…) :

Dans le virtuel, il doit y avoir une information binaire qui indique l’état de l’action (0 ou 1).
Dans mon exemple, c’est l’information virtuelle ‹ Reboot_Jeedom › surligné en jaune ci-dessous. Les deux actions doivent s’y référer, et attention à bien définir cette information virtuelle comme étant binaire (sinon, le widget binaire précédemment créé ne pourra pas lui être associé). Je ne vois pas dans ta capture d’écran si l’info ‹ BTReload › est bien définie sur ‹ binaire ›…

Ensuite, en cliquant sur la roue crantée de cette info, on accède à la fenêtre de configuration. Dans l’onglet ‹ Affichage ›, on définit pour Widget le widget précédemment créé (nommé ici, ‹ Bouton tactile_critik ›) qui doit apparaître dans la liste de choix des widgets.

Si le widget personnalisé n’apparaît pas, il faudra bien vérifier que ce widget est bien défini comme un binaire, et que l’information virtuelle est également binaire.

Après, ceci ne peut pas marcher :

289ddcb6d2383564ad794b84782847c354ecb39b_2_690x140

En effet, il ne s’agit pas d’un scénario à proprement parler, mais d’une liste d’action(s) qui sera lancée avant l’exécution de la commande proprement dite, et qui a été définie visiblement dans la configuration de l’une des actions définies (RELOAD ou Reload En cours).
Ce n’est donc pas la bonne méthode.

En fait, une fois l’association effectuée, il faut insérer cette information virtuelle dans le design avec un clic droit, édition, ajouter une commande, et sélectionner le nom de cette information virtuelle ([Objet][Equipement][Commande]).

Enfin, pour interagir avec ce voyant, qui ne reflète qu’un état sur lequel on y a pas accès directement, il suffira par exemple de créer une zone superposée sur ce voyant (clic droit, édition, ajouter une zone),

image

et soit de pointer vers un scénario si les actions à effectuer sont complexes (avec des tests, boucles, etc…) : sélectionner macro simple, puis scénario dans les actions.

Ce scénario se chargera également de faire clignoter ce voyant comme indiqué,

image

Soit d’établir la liste des actions à effectuer en partant sur une macro binaire, comme ceci par exemple :

J’espère que c’est plus clair ! :slightly_smiling_face:

Bonjour,

En fait j’utilise très peu les design je fonctionne avec le dashboard, néanmoins ça m’intéresse d’apprendre

Dans mon cas je n’ai pas d’objet widgets dans la liste, je trouve bien tous mes autres objets (cuisine, supervision…) mais je n’ai jamais créé cet objet.

Oui OK, je comprends, c’est de ma faute, désolé pour avoir mis de la confusion… La commande ‹ Widgets › dans cette vue n’a rien à voir avec les widgets de jeedom…

262008f172fb05bc24b3074740a261f572cb04d0_2_690x222

C’est un virtuel que je me suis créé, aucune différence avec les autres, et que j’ai appelé Widget / Widget Interface / Reboot_Jeedom parce que ce que j’ai pris comme exemple (mauvais, je m’en rends compte…) est le bouton qui me permet de rebooter mon RPi, et ce bouton va s’illuminer pendant 2 secs indiquant la bonne prise en compte de l’appui sur celui-ci.

De plus, je n’utilise pas (du tout…) de mon côté le dashboard.

Je vais donc essayer de reprendre cet exemple, en essayant de coller à votre besoin.
Je pars du principe donc que le widget binaire de type Info est créé, ce qui devrait ressembler à ça (on choisit bien sûr ce que l’on souhaite comme image en .png, là j’ai repris mes deux images ci-dessus) :


(pour l’instant, aucune commande n’est liée…)

Et le virtuel est créé, avec deux actions :


Qui se réfèrent à une information virtuelle, BTReload, définie comme étant une information binaire.
Ca doit donc ressembler à ça :

Ensuite, dans la configuration de l’info virtuelle ‹ BTReload ›, il faut l’associer au widget créé ci-dessus (que j’ai nommé ‹ Test ›), et sauvegarder.

Dans la configuration de l’action RELOAD, ajouter les commandes suivantes après l’exécution de la commande :

  • sleep x secondes
  • Le ou les actions (simples) à faire (ce bouton doit bien servir à faire quelque chose…)
  • [xxx][yyyy][Reload en cours]

A partir de ce moment, le widget est prêt :

Et ça va donner ça :

Animation5

Il ne reste plus qu’à l’intégrer soit au dashboard, soit à un design comme déjà indiqué…

Merci Daniel pour le temps que tu as passé à d’écrire.
Je vais me pencher sur cette proposition et je te fais un retour, mais j’ai besoin d’un peu de temps.

Bonjour,
Oui, bien sûr, pas de souci, je comprends parfaitement… :wink: