Aller au contenu

📆 [IntĂ©gration] Date Countdown – Suivi d’évĂ©nements personnels dans Home Assistant

Featured Replies

Posté(e)

📆 Date Countdown

Date Countdown est une intégration personnalisée pour Home Assistant qui permet de suivre les jours restants avant des événements personnels tels que : anniversaires, anniversaires de mariage, promotions, mémoriaux ou événements spéciaux.

🧠 Pourquoi cette intĂ©gration ?

Je voulais initialement utiliser le calendrier intĂ©grĂ© de Home Assistant pour suivre mes Ă©vĂ©nements importants. Cependant, celui-ci ne permet pas d’associer des classes ou types spĂ©cifiques Ă  chaque Ă©vĂ©nement (comme un anniversaire, un dĂ©cĂšs ou une promotion). Il m’a donc paru plus utile de crĂ©er une intĂ©gration dĂ©diĂ©e avec une logique adaptĂ©e Ă  chaque type d’évĂ©nement.

EntiĂšrement configurable via l’interface graphique, aucun YAML requis. Les capteurs sont automatiquement créés pour une utilisation dans vos dashboards Lovelace, automatisations, notifications ou alertes.


✹ FonctionnalitĂ©s

  • ✅ Interface graphique pour ajouter, modifier ou supprimer des Ă©vĂ©nements

  • 📅 Types d’évĂ©nements :

    • 🎂 Anniversaire

    • 💍 Anniversaire de mariage (avec intitulĂ©s des noces)

    • đŸ•Żïž MĂ©morial (Ăąge qu’aurait eu la personne, annĂ©es depuis le dĂ©cĂšs)

    • 🏆 Promotion

    • 🌟 ÉvĂ©nement spĂ©cial

  • ⚙ Capteurs automatiques :

    • État = nombre de jours restants

    • Attributs : type, date, prĂ©nom, annĂ©es, intitulĂ© des noces, etc.

  • 🎹 IcĂŽnes dynamiques selon le type

  • đŸ‡«đŸ‡· Interface et traduction en français

  • 🔔 PrĂȘt pour Lovelace, automatisations, TTS, notifications


đŸ§± PrĂ©requis

  • Home Assistant >= 2024.6.0

  • HACS installĂ©


⚙ Installation via HACS

  1. Ouvrez HACS > Intégrations

  2. Cliquez sur ⋼ > DĂ©pĂŽt personnalisĂ©

  3. Ajoutez ce dépÎt : https://github.com/XAV59213/date-countdown

  4. Type : Intégration

  5. Installez Date Countdown

  6. Redémarrez Home Assistant

  7. Allez dans ParamÚtres > Appareils & Services > Ajouter une intégration

  8. Recherchez Date Countdown


🔧 Configuration

➕ Ajouter un Ă©vĂ©nement

  • Type : sĂ©lectionnez parmi les 5 types disponibles

  • Nom (obligatoire), PrĂ©nom (optionnel)

  • Date : JJ/MM/AAAA

  • Pour les mĂ©moriaux : date de dĂ©cĂšs (optionnelle)

🔁 Modifier ou supprimer

  • Dans l’intĂ©gration : ⋼ > Options

  • Choisissez l’action souhaitĂ©e : ajouter, modifier ou supprimer un Ă©vĂ©nement en cour de codage pour l'instant il faut juste ajouter une entrĂ©e


đŸ›°ïž Capteurs gĂ©nĂ©rĂ©s

Format :

sensor.<type>_<nom>_<date>

Exemple :

sensor.memorial_jean_01011950:
  state: 15
  attributes:
    friendly_name: "Jean - Mémorial"
    first_name: "Jean"
    event_type: "memorial"
    event_date: "01/01/1950"
    years: 76
    death_date: "15/06/2000"
    age_if_alive: 75
    years_since_death: 25

đŸ–Œïž Exemple Lovelace (mĂ©moriaux Ă  venir)

type: markdown
content: |
  ##  Mémoriaux à venir
  {% set ns = namespace(events=[]) %}
  {% for entity in states.sensor if entity.entity_id.endswith('memorial') %}
    {% if (entity.state | int(0)) > 0 %}
      {% set ns.events = ns.events + [entity] %}
    {% endif %}
  {% endfor %}
  {% for e in ns.events | sort(attribute='state') | slice(2) %}
  - **{{ state_attr(e.entity_id, 'friendly_name') }}** : {{ e.state }} jours
    - Âge au prochain anniversaire : {{ state_attr(e.entity_id, 'years') }} ans
    - Âge s’il Ă©tait en vie : {{ state_attr(e.entity_id, 'age_if_alive') }}
    {% if state_attr(e.entity_id, 'death_date') %}
    - DécÚs : {{ state_attr(e.entity_id, 'death_date') }} ({{ state_attr(e.entity_id, 'years_since_death') }} ans)
    {% endif %}
  {% endfor %}

Capture d’écran du 2025-06-07 18-23-28.png


🔔 Exemple d’automatisation

automation:
  - alias: "Rappel mémorial 7 jours avant"
    trigger:
      platform: numeric_state
      entity_id: sensor.memorial_jean_01011950
      value: 7
    action:
      service: notify.notify
      data:
        message: >
           Dans 7 jours : anniversaire de {{ state_attr('sensor.memorial_jean_01011950', 'friendly_name') }}.
          Âge s’il Ă©tait en vie : {{ state_attr('sensor.memorial_jean_01011950', 'age_if_alive') }} ans.

đŸ› ïž DĂ©pannage

Les capteurs n’apparaissent pas ?

  • VĂ©rifiez que les dates sont bien au format JJ/MM/AAAA

  • RedĂ©marrez Home Assistant aprĂšs ajout ou suppression d’évĂ©nements

ProblÚme avec les mémoriaux ?

  • death_date : format JJ/MM/AAAA

  • VĂ©rifiez les attributs dans DĂ©veloppeur > États

Activer les logs de debug

logger:
  default: info
  logs:
    custom_components.date_countdown: debug

📁 Structure technique

Fichier

RĂŽle

__init__.py

Initialisation du composant

config_flow.py

Flux de configuration UI

sensor.py

Création et mise à jour des capteurs

const.py

Types, formats, intitulés, noces

translations/fr.json

Traduction en français

manifest.json

Métadonnées HACS


đŸ‘šâ€đŸ’» CrĂ©dits


📱 Support

💬 Pour toute question, bug ou suggestion :
âžĄïž CrĂ©er une issue sur GitHub

Modifié par XAV59213

Posté(e)
Il y a 1 heure, XAV59213 a dit :

Capture d’écran du 2025-06-09 18-46-02.png

salut l'ami dit moi y'a possibilité d'avoir le fichier Yaml stp
parceque je comprend pas trop comment l'intégré
merci a toi a plus

Posté(e)
il y a 30 minutes, zerocool38 a dit :

salut l'ami dit moi y'a possibilité d'avoir le fichier Yaml stp
parceque je comprend pas trop comment l'intégré
merci a toi a plus

Salut, je pense que c'est une carte Markdown (comme utilisé pour le style appliqué au texte sur Discord). Il y a une méthode donnée par Home Assistant pour y ajouter des entités.

Posté(e)
  • Auteur
Il y a 2 heures, Arubinu a dit :

Salut, je pense que c'est une carte Markdown (comme utilisé pour le style appliqué au texte sur Discord). Il y a une méthode donnée par Home Assistant pour y ajouter des entités.

Oui @Arubinu c'est une carte Markdown j'ai mis le code complet

salut @zerocool38 quand tu est dans ton dashabord en mode Edition tu fait ajouter une carte puis en haut a droite trois petit point tu va dessus et tu clic sur modifier en yaml puis tu colle tous le code

dashabord.yam

Modifié par XAV59213

Rejoindre la conversation

Vous pouvez commenter maintenant et vous inscrire plus tard. Si vous possédez un compte, connectez-vous.

Invité
Répondre à ce sujet