Modifier l'icone d'un switch en fonction d'un binary_sensor

Bonjour,

je voudrais modifier l’icone d’un switch sur lovelace en fonction du capteur qu’il y a sur la porte du garage

est-il possible de mettre des conditions directement dans la card lovelace au niveau de icon ? (je n’ai pas réussi) ou faut-il passer obligatoirement par un template ?

Si il faut passer par un template est-il possible de modifier le switch réel ou faut il en créer un nouveau (virtuel) qui actionnera le physique ?

j’espère être assez clair :stuck_out_tongue:

Merci pour votre aide

Bonjour,
Comment ce fait-il qu’un capteur de porte apparaisse comme un switch sur Lovelace ?
Quelle marque de capteur, comment est-il intégré dans HA et peut-on voir ta config?

Non le capteur n’apparaît pas comme un switch, je voudrais que le switch change d’icone en fonction de l’état du capteur

tu as un exemple au bas de cette page

merci mais du coup il faut créer un nouveau switch qui sera le template, c’est bien ça ? je ne peux pas modifier directement le switch existant ?

Effectivement en créant un switch virtuel ça fonctionne mais bon du coup j’ai 2 switchs pour la même chose :confused:

Je pense qu’on peut faire plus simple non ?

Oui, tu peux faire plus simple et moins redondant si c’est juste pour changer l’icône.

Il te suffit de passer par `customize’

sensor.temperature_salon:
  templates:
    friendly_name: Température Salon
    icon: if (entities['input_select.chauffage_salon'].state === 'Off') return 'mdi:power';
      if (entities['input_select.chauffage_salon'].state === 'Eco') return 'mdi:weather-night';
      if (entities['input_select.chauffage_salon'].state === 'Confort') return 'mdi:fire';
      if (entities['input_select.chauffage_salon'].state === 'Hors-gel') return 'mdi:snowflake-alert';
      if (entities['input_boolean.heating_room_salon'].state === 'off') return 'mdi:weather-night';
      if (entities['input_boolean.heating_room_salon'].state === 'on') return 'mdi:fire';

Si tu nous dis quel est le but de la manip et si tu nous montres ta config :face_with_monocle:

Va voir le sujet ici, on y parle de la couleur d’icône (avec l’utilisation de custom-ui mais en bas de post, il y a des exemple de code.

Merci pour vos réponses.

j’ai un switch pour ouvrir ma porte de garage qui agit comme un bouton poussoir et un capteur qui me dit que la porte de garage est ouverte ou pas.

Sur lovelace mon switch apparait tout le temps avec la même icone, il passe jaune 2 secondes lorsqu’il est actionné.
je voudrais que lorsque la porte est ouverte l’icone de mon switch soit une porte de garage ouverte et lorsque la porte est fermée …

regarde ma réponse un peu plus haut

Et n’hésite pas si tu a besoin de plus d’explication

Apparemment avec Customize on peut uniquement modifier en fonction de son propre état alors que là l’icone du switch va dépendre d’un sensor

Oui avec un template ça fonctionne merci mais du coup j’ai 2 switchs pour la même chose

non non je ne parle pas de template sensor mais d’utiliser la fonction customize.

En clair, customize te permet de forcer une propriété d’un capteur, excepté son état.

Donc, tu peux très bien en fonction de l’état de ton capteur, ou d’un ou plusieurs autres capteurs, faire évoluer le nom, l’icone.

image
image

Ici, je change à la fois l’icone avec customize et également la couleur à l’aide de custom-ui

je vais regarder ça, merci beaucoup

Au lieu de passer par un switch, pourquoi pas utiliser un Template Cover
J’ai fait cela pour mon portail avec un capteur unique de position fermé
J’utilise le cover en mode toogle sur lovelace

Non pas du tout, va voir le lien que j’ai mis plus haut pour avoir des exemples mais customize te permet de modifier en fonction de l’état de n’importe quel capteur.

Avec le code ci-dessous, le nom et l’icone changent suivant l’état d’un capteur :
Si la porte de garage est ouverte, alors le nom est « Fermer le garage » et son icone est une porte de garage ouverte et inversement si la porte est fermée.

customize:
  sensor.porte_du_garage:
    templates:
      friendly_name: if (entities['binary_sensor.door_window_sensor_158XXX'].state
        === 'off') return 'Ouvrir le garage'; if (entities['binary_sensor.door_window_sensor_158XXX'].state
        === 'on') return 'Fermer le garage';
      icon: if (entities['binary_sensor.door_window_sensor_158XXX'].state ===
        'off') return 'mdi:garage'; if (entities['binary_sensor.door_window_sensor_158XXX'].state
        === 'on') return 'mdi:garage-open';

Alors, déjà un gros merci Clemax, je ne savais pas que custom UI avait été mis à jour, j’ai retrouvé mes couleurs :smiley:

Par contre dans customize.yaml j’ai fait ça :

switch.porte_de_garage_switch:
  templates:
    icon: if (entities['binary_sensor.garage_etat'].state === false) return 'mdi:garage-open';
      if (entities['binary_sensor.garage_etat'].state === true) return 'mdi:garage-open';

mais ça ne marche pas, j’ai essayé avec off et on à la place de false et true, même résultat

Je te confirme qu’il faut utiliser on/off au lieu de true/false sinon cela ne marchera pas.

Lorsque je copie ton code et change le binary_sensor par un des miens cela fonctionne (en ayant remplacé true/false par on/off):

switch.porte_de_garage_switch:
  templates:
    icon: if (entities['binary_sensor.garage_etat'].state === 'off') return 'mdi:garage-open';
      if (entities['binary_sensor.garage_etat'].state === 'on') return 'mdi:garage-open';

Je pense que ta configuration n’est pas rechargée.

Si tu veux vérifier, ajout un return mdi:home à la fin et recharge la configuration :

switch.porte_de_garage_switch:
  templates:
    icon: if (entities['binary_sensor.garage_etat'].state === 'off') return 'mdi:garage-open';
      if (entities['binary_sensor.garage_etat'].state === 'on') return 'mdi:garage-open';
	  return 'mdi:home'

Si ta configuration est bien rechargée, soit l’icone sera une porte de garage ouverte ou fermée, sinon ce sera une maison. Cela permet de savoir si une erreur est dans les conditions ou non.

Au final, tu devrais avoir cela dans l’onglet Outils de développement :


et cela dans ton lovelace :
image

ça marche !

en fiat il lui faut une icone sans condition si non il n’en veut pas.

Merci beaucoup !