Carte Mushroom / Bouton ON/OFF

aucun nom qui commence par binary_switch XXX

Pourtant HA a bien l’info du dernier changement de statut

Comment récupérer l’info ?

Hello

avec un peu de recherche , d’aide si tu souhaites trouvais certaine info :wink:

voila ce que j’ai :

Pas de binary_XXX

Pourquoi chercher le binary ?
regarde celui du switch

et sert toi de l’ID de l’entité !

Merci ++ il me reste du chemin à parcourir pour maitriser…

je mets mon code final si ça peut en aider d’autres…

saisissez ou collez du code ici

Sinon restera à trouver comment résoudre l’affichage pour une prise qui reste dans le même état plusieurs jours ? (transformer les h et J)

Arf histoire de gros doigts, mon code ici :

type: custom:mushroom-template-card
entity: sensor.tz3000_gvn91tmx_ts011f_active_power_2
primary: |
  PC Chargeur - 
  {% if states('sensor.tz3000_gvn91tmx_ts011f_active_power_2') | float == 0 %}
  {{ states('sensor.tz3000_gvn91tmx_ts011f_active_power_2') }} W
  {% else %}
  {{ states('sensor.tz3000_gvn91tmx_ts011f_active_power_2') }} W
  {% endif %} 
fill_container: true
icon: mdi:power-plug
layout: horizontal
secondary: |
  {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','on') | float == 0 %}
    Désactivée
  {% else %}
    Activée
  {% endif %} à
  {{ as_timestamp(states.switch.tz3000_gvn91tmx_ts011f_switch_2.last_changed) | timestamp_custom('%HH%M')}}
tap_action:
  action: call-service
  service: switch.toggle
  data: {}
  target:
    entity_id: switch.tz3000_gvn91tmx_ts011f_switch_2
icon_color: |-
  {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','on') %}
      blue
    {% else %}
      grey
    {% endif %}
badge_icon: ''

il faut formater le timestamp_custom avec ce que tu veux, pour avoir la date avec un %D ?
tu peux essayer de voir ce que donne

{{ as_timestamp(states.switch.tz3000_gvn91tmx_ts011f_switch_2.last_changed) | timestamp_custom('%D %HH%M')}}

Tu devrais avoir la date et l’heure du changement !
Sinon avec le relative_time mais on perd les heures je crois

Top : objectif atteint :
image

Et le code final:

type: custom:mushroom-template-card
entity: sensor.tz3000_gvn91tmx_ts011f_active_power_2
primary: |
  PC Chargeur - 
  {% if states('sensor.tz3000_gvn91tmx_ts011f_active_power_2') | float == 0 %}
  {{ states('sensor.tz3000_gvn91tmx_ts011f_active_power_2') }} W
  {% else %}
  {{ states('sensor.tz3000_gvn91tmx_ts011f_active_power_2') }} W
  {% endif %} 
fill_container: true
icon: mdi:power-plug
layout: horizontal
secondary: >
  {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','on') | float == 0 %}
    Désactivée
  {% else %}
    Activée
  {% endif %} le
  {{ as_timestamp(states.switch.tz3000_gvn91tmx_ts011f_switch_2.last_changed) |
  timestamp_custom('%d/%m à %HH%M')}}
tap_action:
  action: call-service
  service: switch.toggle
  data: {}
  target:
    entity_id: switch.tz3000_gvn91tmx_ts011f_switch_2
icon_color: |-
  {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','on') %}
      blue
    {% else %}
      grey
    {% endif %}
badge_icon: ''

2 « J'aime »

Avec le temps, ce code est bien mais il y a encore une amélioration à faire.
Si le capteur / la prise est débranché le statut du sensor devient ‹ unavailable › et l’affichage devient le suivant (pour PC chargeur)
pb statut unavable

Du coup comment modifier le code pour enlever l’affichage de l’erreur {% if … et le remplacer par « Déconnectée »

j’ai essayé le code suivant mais je trouve pas la coquille :

type: custom:mushroom-template-card
entity: sensor.tz3000_gvn91tmx_ts011f_active_power_2
primary: |
  PC TEST Chargeur - 
  {% if states('sensor.tz3000_gvn91tmx_ts011f_active_power_2','unavailable') %}
    Déconnectée
  {% else %}
    {{ states('sensor.tz3000_gvn91tmx_ts011f_active_power_2') }} W
  {% endif %} 
fill_container: true
icon: mdi:power-plug
layout: horizontal
secondary: >
  {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','on') | float == 0 %}
    Désactivée
  {% else %}
    Activée
  {% endif %} le {{
  as_timestamp(states.switch.tz3000_gvn91tmx_ts011f_switch_2.last_changed) |
  timestamp_custom('%d/%m à %HH%M')}}
tap_action:
  action: call-service
  service: switch.toggle
  data: {}
  target:
    entity_id: switch.tz3000_gvn91tmx_ts011f_switch_2
icon_color: |-
  {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','on') %}
      blue
    {% else %}
      grey
    {% endif %}
badge_icon: ''

Après cerise rouge sur le gâteau, j’aimerai mettre la couleur de l’icon en rouge si le capteur est ‹ unavailable ›
Mais la aussi ce bout de code ne fonctionne pas :

icon_color: |-
  {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','on') %}
      blue
   {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','unavailable') %}
      red
    {% else %}
      grey
    {% endif %}

Bref comment écrire : si capteur TOTO est ‹ unavailable › alors …

Bonjour,

Peut-être comme de cette manière?

{% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','on') %}
  blue  # Blue si On
{% elif is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','off') %}
  red   # Red si Off
{% else %}
  grey  # Grey si ni On, ni Off
{% endif %}

[/quote]

Cordialenemt

Abel

2 « J'aime »

Bonjour,
Merci Abel, Belle pirouette de programmation quand cela ne fonctionne pas d’une manière ou essaye autrement…

Mais cela ne fonctionne pas ;-(
Le code suivant ne modifie plus la couleur de l’icone qui reste Grey quel que soit l’Etat :

icon_color: |-
  {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch','on') %}
      blue # Blue si On
   {% elif is_state('switch.tz3000_gvn91tmx_ts011f_switch','off') %}
      grey # grey si Off
    {% else %}
      red # rouge si ni On, ni Off --> Unavaible / déconnectée
    {% endif %}
badge_icon: ''

J’en suis toujours à mon pb d’écrire : si capteur TOTO est ‹ unavailable › alors …

Ce switch fonctionne pour moi…
Remplace uniquement la valeur de entity et de primary.
La variable config.entity fera le reste.

type: custom:mushroom-template-card
entity: switch.cielo_power
primary: Cielo
secondary: '{{ states(config.entity) }}'
icon: |-
  {% if is_state(config.entity,'on') %}
    mdi:toggle-switch
  {% elif is_state(config.entity,'off') %}
    mdi:toggle-switch-off
  {% else %}
    mdi:alert
  {% endif %}
icon_color: |-
  {% if is_state(config.entity,'on') %}
    blue 
  {% elif is_state(config.entity,'off') %}
    grey 
  {% else %}
    red 
  {% endif %}
tap_action:
  action: toggle
hold_action:
  action: none
double_tap_action:
  action: none

Abel

Bonjour Abdel j’ai compris ou était le pb : ton code communiqué hier fonctionne mais il faut enlever les commentaires. étonnant les # xxx sur la même ligne qu’une instruction faisait que cela ne fonctionnait pas.
Merci pour ton aide,

Voici le résultat obtenu :

etat prise rouge

Rouge → device n’est pas joignable (prise débranchée)
Bleu → Device Allumé
Gris → Device Eteint

Je peux aussi indiquer que le device passe en mode UNAVAILABLE 2h après être débranché.

et le code complet utilisé :

type: custom:mushroom-template-card
entity: sensor.tz3000_gvn91tmx_ts011f_active_power_2
primary: |
  PC Chargeur - 
    {{ states('sensor.tz3000_gvn91tmx_ts011f_active_power_2') }} W
fill_container: true
icon: mdi:power-plug
layout: horizontal
secondary: >
  {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','on') | float == 0 %}
    Désactivée
  {% else %}
    Activée
  {% endif %} le {{
  as_timestamp(states.switch.tz3000_gvn91tmx_ts011f_switch_2.last_changed) |
  timestamp_custom('%d/%m à %HH%M')}}
tap_action:
  action: call-service
  service: switch.toggle
  data: {}
  target:
    entity_id: switch.tz3000_gvn91tmx_ts011f_switch_2
icon_color: |-
  {% if is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','on') %}
      blue
  {% elif is_state('switch.tz3000_gvn91tmx_ts011f_switch_2','off') %}
      grey  
  {% else %}
      red
  {% endif %}
badge_icon: ''

J’avais ajouté les commentaires après avoir testé le script.
Je m’en suis rendu compte lorsque j’ai testé aujourd’hui.
La nouvelle mouture ne contenait plus les commentaires.

Tout marche maintenant, c’est l’essentiel.

1 « J'aime »