[SALVIALF] Widget IconAction Core_V4 (Action/Defaut)

https://salvialf.github.io/Salvialf-Documentation/IconAction/fr_FR/

Ok j’utilise deja effectivement tes excellents widgets mais pas réussi à enlever le time…

Je ne peux que te conseiller de te procurer le plugin Pimp my Jeedom alors

1 « J'aime »

Il n’y a pas encore eu de réponse à cette question et je me la pose également. J’ai essayé avec allumer et éteindre au lieu de on et off mais ça ne fonctionne pas. C’est une limite importante si on ne peut utiliser qu’un seul bouton. Si quelqu’un sait comment truander la chose. Merci.

:thinking:

3 « J'aime »

Bonjour @Salvialf

Vraiment beau travail qui facilite la vie des non geeks :roll_eyes:

Je viens de faire une recherche aussi bien dans ce topic que sur la communauté en général, ai-je mal cherché? Pourtant la question est simple:

Est-il possible de fonctionner avec un gif ? Si oui, peut-on avoir le on en gif et le off en png?

Pour moi, cela ne marche pas à l’état on.

Poussoir_Mode_On_Manuel Poussoir_Off

Je précise que dans le dossier ad-hoc, ces fichiers ont été renommés PoussoirModeManuel_on et _off

Autre précision, le clignotement est moins gadget qu’il n’y parait. C’est vraiment pour attirer mon attention que ma pompe est en marche depuis le mode manuel et donc que cela videra mes réserves d’eau si « je dors sur la switch » comme on dit icitte (Québec).

Question bonus, puis-je me faire un bouton 3 états?

  • Marche mode manuel (vert clignotant);
  • Arrêt mode manuel (Rouge)
  • Auto Poussoir_Mode_Auto pour quand je laisse les scénarios gérer la situation.

Bien sûr on ne peut utiliser le mode binaire. Donc probablement en attribuant des valeurs numériques aux différents états genre 0, 1. 2

… Un peu plus tard …

Bon, j’ai trouvé cela de toi [SALVIALF] Widget 3_State_Switch (action/curseur)

Probablement adaptable pour ma question bonus

Merci!

Salut,

Je viens de tester un widget core avec tes 2 images (renommées en test.gif & test.png) et l’animation du gif fonctionne bien :

Merci pour ta réponse mais …

Je viens de me livrer à cette expérience. Puisque j’avais trois boutons de prêts dont 2 en png, dans le dossier img/IconAction, j’ai remplacé le fichier gif par un fichier png
image

Et là ça marche. Mais cela ne clignote pas (j’utilise un gif animé) donc ce n’est pas une solution pour moi. Ce n’est même pas une faute de frappe par exemple. Comme tu peux le voir, j’ai ajouté un X au bout du on pour le renommer le temps du test.

Donc, y-a-t-il quelque chose qui m’échappe?

Merci

Je peux te confirmer que ça fonctionne du 1er coup.

Pour commencer qu’est ce qui ne fonctionne pas exactement ? L’image ne s’affiche pas ? L’animation gif ne bouge pas ? autre chose ?

L’image ne s’affiche pas au passage à On

OK

Une erreur en console du navigateur (F12 sous Chrome) ?

Tu peux partager une copie d’écran des 3 commandes concernées stp (depuis la page de l’équipement, onglet Commandes) ?

Quelle version de Jeedom ? Tu as essayé avec le chemin des images en dur comme sur mon exemple ?

À moins d’avoir mal compris cela, je n’ai que deux commandes On et Off pour l’instant. Donc je reste collé à icone action type_on et type_off

il doit aussi y avoir une commande info/binaire liée aux 2 commandes action normalement…

Quelle version de Jeedom ? Tu as essayé avec le chemin des images en dur comme sur mon exemple ?

Toute dernière version stable

en mode off

Désolé, j’ai un problème que je ne comprends pas. Le test que j’ai fait (mettre temporairement le bouton png bleu à la place du bouton vert gif). Et bien maintenant je suis pris avec le bleu même si j’ai fini par l’effacer de iconaction et fait un F5 pour recharger. Est-il en mémoire cache quelque part? Donc impossible de reproduire ma situation initiale.

… un peu plus tard …

j’ai remis provisoirement le type à defaut. Tes icones sont revenues dans les deux états. Mais quand j’ai remis PoussoirModeManuel sur la commande on, c’est ton bouton qui est resté.

J’ai réussi à faire le lien et le tester. Cela fonctionne:

En revanche, j’ai du réécrire la fin du lien. Aucun gif à l’horizon ici:
image

Au fur et à mesure que je testais, j’ai corrigé ma réponse précédente (Je me suis déjà fait gronder de trop utiliser Réponse. Du coup, je ne sais pas si tu as suivi l’évolution.

En résumé rapide. On ne retrouve pas le fichier gif dans Chrome
image

Mais si je tape directement le lien du gif, il s’affiche

Bon j’abuse du Répondre, désolé.

Après une bonne douche j’ai enfin les idées beaucoup plus claires. Alors j’ose une hypothèse.

Voici mon virtuel:
image
(Ca tombe bien la pompe principale vient de partir)

Dedans, j’ai deux autre gif animés:
pompe5
Led-Verte-Clignote

Les deux fonctionnent normalement dans mon virtuel.

Donc ce n’est pas un problème de ce côté. Avec ma constatation précédente (pas d’image gif dans le dossier iconaction de Chrome), je pense que le problème serait du côté d’icone action.

Par hazard ferais-tu une concaténation type & (_on ou _off suivant la ligne de commande) & .png par défaut?

En tout cas cela expliquerait bien mon problème :wink:

Tiens je propose une solution: on pourrait rajouter une ligne de paramètre optionnel « Extention ». Si j’écris gif, alors cela vient se concaténer à la place du png par défaut

… quelques heures plus tard …

Je suis très prudent dans Jeedom parce pas encore assez compétent dans ce type d’environnement pour aller jouer avec du code (D’où mon pseudo).

Mais bon, j’avais vraiment envie de valider mon hypothèse. Je suis donc allé dans ta page Github et j’y ai regardé de plus près. Bingo!

Dans le fichier IconAction.json, on trouve ces lignes de code:

{« id »:«  »,« name »:« IconAction »,« type »:« action »,« subtype »:« other »,« template »:« tmplimg »,« display »:{« icon »:«  »},« replace »:{« #time_widget# »:« 1 »,« #img_light_on# »:« <img src="data/img/IconAction/#type#_on.png"/> »,« #img_dark_on# »:« <img src="data/img/IconAction/#type#_on.png"/> »,« #img_light_off# »:« <img src="data/img/IconAction/#type#_off.png"/> »,« #img_dark_off# »:« <img src="data/img/IconAction/#type#_off.png"/> »,« #desktop_width# »:« #largeurDesktop# »,« #mobile_width# »:« #largeurMobile# »},« test »:[],« jeedomCoreVersion »:« 4.0.38 »}

Pour moi c’est clair que png n’est écrit en dur.

Je vais voir si depuis Jeexplorer, je peux m’amuser à remplacer _on.png par _on.gif. Si cela marche, alors je vais voir si je suis capable de créer une variable option.

J’espère ne pas tout casser. Mais je le sens bien!

À plus tard.

Salut,

Je n’ai pas tout suivi car lu rapidement depuis mon mobile mais @Salvialf a quand même validé en testant que ça fonctionnait bien :thinking:donc pourquoi chercher un problème dans le code ? Ça semblerait quand même plutôt venir de ton test logiquement ?

Tu as testé en vidant le cache du navigateur pour être sûr que t’es modifs au niveau de ton widget soient bien prises en compte à chaque test ?

Mon dieu, pour qui je me prendrais pour dire qu’il y a un problème avec le code de @Salvialf.

Dans la démarche d’analyse que j’ai faite, je conviens que je suis passé par Tombouctou pour aller de Paris à Asnières. Mais disons que cela fait parti de mon cycle d’apprentissage et malheureusement peut amener de longs propos parfois mal exprimés. Désolé.

Mais voilà, il y a une évidence qui sautait aux yeux sans aller bien loin et surtout il n’y avait pas besoin de pousser jusqu’à Github.

Voici: Mes commandes utilisent le widget iconaction de @Salvialf:


.
.
.
Et voilà ce que j’avais au milieu de la face et que je n’ai pas vu!:

Les lignes de remplacement n’intègrent qu’une variable #type#. Ensuite il est littéralement écrit dans le string « .png ». Donc, je ne vois pas comment ce widget pourrait charger un « .gif »

C’est donc un cas de figure qui n’avait visiblement pas été soulevé par personne. Le besoin ne devait pas être là.

Cela dit, en guise de test, je viens tout juste de changer le png pour gif et je n’ai pas obtenu le résultat espéré. Je vais investiguer un peu avant pour le pourquoi.

Mais si bien sûr je fais fausse route … N’hésitez pas :upside_down_face:

Un peu plus tard… Voici les messages d’erreur dans Chrome quand je change .png pour .gif

On voit qu’il ne trouve pas defaut_on.gif Mais pourquoi il y a « defaut » au lieu du nom de mon image???

SOLUTION TROUVÉE

Cela se passe en 2 temps:

  1. J’ai fait une variante du Widget iconAction. Dans mon cas, je suis seulement intéressé par des ON clignotants. Le OFF reste une image standard.
    Voici donc ce que cela donne dans mon cas:
    image

  2. Comme mentionné j’avais une erreur dans Chrome.

Après recherche, je suis tombé sur cela:

qui préconise cela:

That’s because Chrome added support for source maps.

Go to the developer tools (F12 in the browser), then select the three dots in the upper right corner, and go to Settings.

Then, look for Sources, and disable the options: « Enable javascript source maps » « Enable CSS source maps »

If you do that, that would get rid of the warnings. It has nothing to do with your code. Check the developer tools in other pages and you will see the same warning.

J’ai appliqué. Finalement me voilà donc fonctionnel avec mes boutons.

Si cela peut servir à quelqu’un …

Bonjour,
tout d’abord, encore et toujours, un grand merci @Salvialf pour le partage de ses widget… je me régale avec ses gauges.
Ayant depuis peu des ampoules zigbee, j’ai souhaité utiliser le widget iconaction pour les personnaliser.

Je rencontre un problème qui n’a pas été traité, il me semble, dans ce fil (j’ai parcouru les 191 posts).
Aucun problème de fonctionnement en version desktop. Les widgets apparaissent bien et sont parfaitement fonctionnels.
Par contre, sur le dashboard version mobile, l’image semble être « cassée »:

image

Dans la configuration des modules on et off voici ce que j’ai:

Je pense également avoir mis les données mobile au bon endroit avec jeexplorer:

image

Merci de votre aide

EDIT: je suis en version 4.1.27 de jeedom