Mettre en évidence le dernier bouton pressé

Bonjour, j’ai une série de boutons (card button) qui lance un service de nodered afin de régler la puissance du chargeur de mon VE. J’aimerais pouvoir mettre en évidence (changer la couleur de fonds par exemple du dernier bouton pressé (donc de la puissance de charge actuelle) mais je ne trouve pas de solution. J’ai regardé avec custom button mais mon bouton n’a pas d’état, c’est juste un déclencheur du service nodered (je ne veux pas créer dans HA des boutons virtuels pour chaque puissance). Est-il possible de « colorer » un de mes boutons en fonction de la valeur/état d’une autre carte lovelace? Y’a-t-il une solution pour résoudre mon problème, dans Jeedom j’aurais utiliser lr plugin « mode ». Merci d’avance.

image

Une solution que j’utilise :

Faire varier l’opacité (ou la couleur) d’un custom:button-card en fonction de l’état d’un input_boolean. Voici ce que j’ai fait :

 - type: 'custom:button-card'
              color_type: card
              entity:  input_boolean.bit_temperature_confort_salon
              styles:
                card:
                  - height: 50px
                  - filter: |
                      [[[
                        if (states['input_boolean.bit_zone_temperature'].state == 'off')
                          return "opacity(30%)";
                        return "opacity(100%)";
                      ]]]
              state:
                - value: 'on'
                  color: rgb(31, 60, 160)
                  name: Salon en confort
                  icon: mdi:weather-sunny
                - operator: default
                  name: Salon en réduit
                  color: rgb(130, 150, 30)
                  icon: mdi:weather-night

En fonction d’une autre entité.

Le principe de base utilisé généralement est de créer un sélecteur input_select correspondant à tous tes modes.

Ensuite, tu assignes sur chaque bouton, la sélection du mode concerné.

Enfin, tu fais une automatisation avec comme déclencheur le changement d’état du sélecteur et dans les actions suivant l’état (choose, tu exécutes des actions (ou un script).

@Bubule te proposes le même principe mais avec des booléens (input_boolean).

Ce qui est important de savoir, c’est que les input_* sont conservé après redémarrage de ton serveur.

N’hésite pas si besoin :+1:

OK, merci de votre aide. Je ne voulais pas créer des input_* (je que j’appelle des virtuels - désolé du mauvais wording) mais je constate qu’il n’y a pas d’autre solution. Si je comprends bien, il me faut un input_* par bouton/puissance (6 dans mon cas) que j’utilise pour gérer le mode actif et pouvoir mettre en évidence le bouton/puissance sélectionner en dernier, jueste ?
Merci encore, je vais essayer.

Non, il te faut un sélecteur avec 6 choix possible :

input_select:
  puissance_chargeur:
    name: Sélection de la puissance
    options:
      - "4.4kW (6A)"
      - "5.2kW (7A)"
      - "5.9kW (8A)"
      - "6.7kW (9A)"
      - "7.3kW (10A)"
      - "7.*kW (11A)"
#    initial: #Ne pas renseigner pour conserver l'état suite à un redémarrage
    icon: mdi:motorbike-electric

Sinon, comme c’est Node-RED qui gère derrière, tu peux aussi utiliser Node-Red pour mettre à jour un input_text dans HA et ensuite utiliser card-mod ou button-card pour l’affichage du mode en cours.

Si tu utilise Node-RED, il vaut mieux continuer de l’utiliser pour les automatismes et donc, c’est à lui de renseigner dans une entité le mode courant pour moi.

Merci je vais voir cela ce soir…

Autre solution,
Utiliser un seul input_number et lui attribuer une valeur différente à chaque touche.
Tu pourrais ainsi avoir une ou plusieurs touches colorées en fonction d’une comparaison X <= Y

Plein de possibilités avec HA !

Des fois trop, on sait pas comment prendre le truc… :sweat_smile:

1 « J'aime »

J’ai enfin eu le temps de tester et ça marche nickel… merci @Clemalex et @Bubule

1 « J'aime »