Bonjour,
Je ne sais si cela peut aider (je suis ultra-débutant)…
Je souhaitais afficher de façon simple une alerte courrier.
Au niveau des badges, j’ai donc positionné cette alerte courrier, basée sur un simple capteur ouverture/fermeture fixé dans la boite aux lettres (un tuto avec impression 3D est consacré à ce dispositif).
De fait, à côté des badges, une enveloppe grisée est affichée ( il est possible de ne pas l’afficher, mais je préfère) et dès qu’un courrier et/ou un colis est déposé dans la BAL, l’enveloppe change de couleur et clignote.
Le clignotement cesse par un simple clic, après avoir récupéré le courrier.
Je mets les deux illustrations mais je ne sais pas comment mettre une animation (enveloppe jaune qui clignote).
Ci-dessous mon programme.
Il y a certainement mieux ou plus simple, mais perso cela me convient.
dans Editeur de configuration, à la suite des badges, mettre :
- type: custom:button-card
entity: input_boolean.courrier_visible
icon: mdi:email
name: ' '
tap_action:
action: toggle
styles:
icon:
- color: |
[[[
return states['input_boolean.courrier_visible'].state === 'on' ? 'orange' : 'grey';
]]]
- animation: |
[[[
return states['input_boolean.courrier_visible'].state === 'on' ? 'blink 1s infinite' : 'none';
]]]
card:
- width: 80px
- height: 35px
- border-radius: 30%
dans automations.yaml
- alias: "Notification courrier reçu"
description: "Active l'icône du courrier lorsque le capteur détecte l'ouverture de la boîte aux lettres"
trigger:
- platform: state
entity_id: binary_sensor.lumi_contact_bal # à remplacer par l'ID correct de ton capteur
from: "off"
to: "on"
action:
- service: input_boolean.turn_on
entity_id: input_boolean.courrier_visible # Active l'icône du courrier
- alias: "Arrêt du clignotement courrier"
trigger:
- platform: state
entity_id: input_boolean.courrier_visible
from: "on"
to: "off"
action:
- service: input_boolean.turn_off
entity_id: input_boolean.courrier_visible # Désactive l'icône après le clic
dans scripts.yaml
clignotement_badge:
alias: "Clignotement badge courrier"
sequence:
- repeat:
while:
- condition: state
entity_id: input_boolean.courrier_badge
state: "on"
sequence:
- service: input_boolean.turn_on
entity_id: input_boolean.courrier_visible
- delay:
milliseconds: 500
- service: input_boolean.turn_off
entity_id: input_boolean.courrier_visible
- delay:
milliseconds: 500
dans card
type: custom:button-card
entity: input_boolean.courrier_visible
icon: mdi:email
name: " "
tap_action:
action: toggle
styles:
icon:
- color: |
[[[
return states['input_boolean.courrier_visible'].state === 'on' ? 'orange' : 'grey';
]]]
- animation: |
[[[
return states['input_boolean.courrier_visible'].state === 'on' ? 'blink 1s infinite' : 'none';
]]]
card:
- width: 80px
- height: 35px
- border-radius: 30%
Ce n’est peut-être pas très orthodoxe, mais cela fonctionne très bien