[TUTO noodom] Modification dynamique de paramètres de commande associée à un widget

Mis en place et fonctionnel.
Merci.

Parfait, merci pour la confirmation. C’est encore tout frais de ce matin :wink:

Merci pour ton retour, mais si je lis ton widget :
Pour récupérer les valeurs des paramètres optionnels, faut il toujours passer par :

jeedom.cmd.update[’#id#’] = function (_options) {
}

car la valeur d’une variable #variable optionnel# devrait pouvoir être retourner dans le widget en tout cas se serait bien !

Le comportement est identique, aucun changement.
Seule la façon de renseigner ces paramètres dynamiquement par ce scénario change.

Par défaut, le paramètre est figé et ne peut plus être modifié.
Avec ce scénario, le paramètre évolue régulièrement à l’aide de la mise à jour par mon scénario.

Bonjour @noodom,

J’utilise ton code/scénario pour coloriser dynamiquement en fonction de l’état de température des informations ou d’autres binaires ou valeurs. Très pratique pour les informations.

Par contre, je m’heurte à un problème. Si j’utilise ta modification dynamique sur une commande ; j’ai mis du temps à comprendre ; cela part en boucle infinie car en fait cela lance la commande qui met à jour une information et comme j’utilise l’information pour lancer la modification dynamique d’une couleur et de l’icone… bein cela relance l’action et ainsi de suite.

Il y a bien une solution, celle de lancer un scénario qui inclue commande et modification dynamique pour ne plus avoir ce problème.

Mais de l’autre, je perds la gestion par plusieurs interrupteurs autres ou autres boutons… car de toutes les manières ils rappuyeront eux aussi virtuellement sur le bouton.

Une idée ?

C’est la seule faille que je trouve à cet outil génial… et évite la création de widgets en tout sens !

Explication :

J’appuie sur le bouton garage :

Cela lance un scénario de gestion du garage :

De l’autre, un scénario en déclencheur sur l’information de la porte de garage (de manière à si les scénarios d’automatisme d’arrivée, des téléphones, des boutons physiques sont utilisées, cela change aussi le bouton).

Et je change l’icone du bouton et sa couleur :

Cela est dû à ça dans le scénario :

Salut @benj29,

J’ai essayé de m’accrocher et je passe sans doute à côté du problème.

A priori, changer le type (l’icône ?) et la couleur d’un bouton par mon scénario ne devrait pas provoquer une boucle infinie.

J’aurais tendance à penser qu’il suffit de créer un scénario indépendant « Etat modifié » avec :

  • pour déclencheur la valeur de la commande Etat
  • et comme contenu du scénario l’exécution de mon scénario pour effectuer les modifications de type et couleur.

Ensuite :

  • Sur exécution de ton scénario de gestion du garage, la commande Etat va être modifiée.
  • Sur action extérieure, la commande info Etat va être modifiée/

Le changement de la valeur Etat va alors provoquer le lancement du scénario « Etat modifié ».

Encore une fois, je dois sans doute passer à côté du problème :slight_smile:

Je te réponds dans le we. Mais essaie avec un virtuel binaire.

Hello,

Je viens de tout vérifier mais j’ai bien le phénomène, les logs parlent d’eux-même.

Sur une répétition de valeur pour une information, cela répète le scénario de couleur :

et donc cela relance l’action de la commande (ici un scénario) :

Il faudrait pouvoir ne pas activer la commande (les actions avant/après) hors appui de la fonction.

Pour l’heure, je vais voir pour limiter la répétition de l’information qui conduit à l’exécution de ces scénarios. De mémoire Jeedouino fait des refreshs réguliers (toutes les heures de mémoire).

Bon bein, j’ai contourné le problème de la méthode avec le code appliqué sur une action en utilisant une zone que j’applique sur le design.

Par forcément efficace, dommage mais au moins cela fait le travail escompté.

Salut @benj29,

Je voulais utiliser mon scénario sur une commande de type Toggle et je viens de voir un problème sur la commande action lancée alors que ce n’est pas le but du scénario.
J’ai remarque que j’appelle la commande pour récupérer la valeur, juste pour la logguer !
Donc je ne sais pas si ça correspond à ton cas, mais peux-tu faire le test en modifiant le scénario comme ci-dessous et valider que ça corrige ton problème initial :

Merci de ton retour.

1 « J'aime »

Je te dis.
EDIT : et ça semble tout bon !

Parfait, merci pour ton retour rapide !
Désolé pour ce bug « idiot » dans le code du scénario qui t’a posé autant de problème :confused:
J’étais passé à côté dans mes tests.
Corrigé sur Github.

EDIT : En fait après réflexion, c’est dû au fait que j’avais imaginé cette solution seulement sur des commandes infos, donc sans conséquence d’exécuter la commande pour récupérer sa valeur.

Pas de souci. J’avais contourné en créant une zone qui appelait les scénarios.
L’avantage c’est que l’on peut changer les paramètres d’une action et ça en fait quelque chose de complet :).

Par contre, le fait d’appuyer me « pête » le tableau qui a des cases fusionnées.
Je vois bien que tu ne touches rien d’un point de vue HTML ou autre mais factuellement ça casse tout :frowning:

Voir ce fil :

Je n’ai pas lu tout le post mais c’est toujours le cas après correction ?

Sinon, peux-tu éditer ton dernier post reprenant le code de mon scénario avec cette correction (au cas où certains feraient un copier-coller) ?

Salut,

J’aimerai tenter d’utiliser ton code pour faire varier la couleur d’un texte en jouant sur les paramètres comme ça mais en plus simple style la couleurTexte et couleurFond

Le soucis c’est que je ne trouve pas comment faire le widget qui va permettre de faire bouger la couleur du fond et du texte … est-ce que tu as un exemple. Les widgets de la V4 sont basés sur des conditions et du coup je ne vois pas comment les utiliser pour ce que je veux faire.

Salut,

Ce scénario permet de modifier dynamiquement les widgets ayant des paramètres optionnels de configurés (au niveau de leur code), par exemple les paramètres couleurTexte et couleurFond que tu souhaites.

Mais si j’ai bien compris, tu veux modifier des widgets n’ayant pas ces paramètres optionnels de programmé, non ?
Ce n’est alors pas possible avec ce scénario dans ce cas.

Non c’est pas ça, je cherche comment créer ce fameux widget sur lequel je mettrais les options d’affichage couleurTexte et couleurFond et qui permettrait donc de définir les dites couleurs en appliquant le widget.

Du coup avec ton code je pourrais changer les couleurs des options.

J’espère que c’est plus clair, il me manque la base quoi :sweat_smile:

Tu veux donc savoir comment programmer des widgets ? :slight_smile:

Pour ça, tu peux commencer par récupérer le code des widgets du Core Jeedom pour en comprendre le mécanisme et t’en inspirer pour tes propres widgets.

Sinon, tu peux aussi regarder du côté des nombreux widgets tiers présentés sur ce forum.

Salut @bison,

Il ne faut pas se braquer sur les conditions, grâce aux conditions tu peux faire bcp + de choses que si elles n’étaient pas là.

Pour info, #value# est une condition toujours vérifiée :wink:

Donc dans le menu outils → Widgets du core, Tu peux simplement mettre en Test :

#value#

et ensuite le template de ton choix sans avoir validé aucune autre condition que celle d’avoir une valeur.

Salut ! Han, cool merci pour l’info @Salvialf
Du coup il ne devrait me manquer plus qu’une chose pour essayer.
Est-ce que l’on peut intégrer des options d’affichage en passant par cette technique (pour ajouter couleurTexte et compagnie) ?