Horloge numerique + date

ok merci je vais tester cela :+1:

re bonjour,
c’est re-moi :wink:
j’ai pu ajouter les saint du jour sur mon agenda google dans home assistant => youpi :wink:
est ce que je peux mettre les saints du jour dans mon code à la place de sensor.saint_du_jour ?

type: vertical-stack
cards:
  - type: grid
    cards:
      - type: picture-elements
        image: '/local/img/blank.pngstyle: | ha-card { box-shadow: 2px 2px 5px; }'
        elements:
          - entity: sensor.jour_fr
            style:
              filter: opacity(30%)
              font-family: Days One
              font-size: 600%
              left: 45%
              pointer-events: none
              text-shadow: 20px 20px 20px black
              top: 15%
              z-index: 1
            type: state-label
          - entity: sensor.date_fr
            style:
              filter: opacity(100%)
              font-family: Days One
              font-size: 300%
              left: 50%
              top: 30%
              text-shadow: 20px 20px 20px black
              pointer-events: none
              z-index: 2
            type: state-label
          - entity: sensor.time_fr
            style:
              font-family: Days One
              color: var(--primary-color)
              text-shadow: 10px 10px 20px black
              filter: opacity(60%)
              font-size: 900%
              left: 50%
              top: 57%
              pointer-events: none
              z-index: 0
            type: state-label
          - entity: sensor.saint_du_jour
            type: state-label
            prefix: Aujourdhui on fete les
            style:
              left: 50%
              bottom: 0%
              pointer-events: none
              font-family: Days One
              text-shadow: 10px 10px 20px black
              filter: opacity(70%)
          - entity: sensor.saint_de_demain
            type: state-label
            prefix: Demain on fetera les
            style:
              left: 50%
              font-family: Days One
              text-shadow: 10px 10px 20px black
              bottom: '-6%'
              pointer-events: none
              filter: opacity(50%)
    columns: 1
    square: false

Salut,
tu peux corriger le nom de l'entité et ajouter la ligne attribute
image

oh top,
ça fonctionne :+1:

encore merci

Bonjour,

Souci lors de l’exécution du script : j’ai dû ajouter ceci

import datetime

Bonjour,

ça fonctionne parfaitement, petite question : comment gérer les doublons de date anniversaire sur le script ?

Bonjour,

Ce script est-il toujours fonctionnel ? Car cela ne fonctionne pas chez moi, j’ai mis :

le script dans /homeassistant/config/python_scripts/jours_feries.py

j’ai ajouté python_script: dans configuration.yml et j’ai mis l’automation, mais les sensor ne sont pas créés, ai-je loupé quelque chose ?

Pour gérer les doublons d’anniversaire, ci-dessous la modification du code :

def estanniversaire(d):
    """estferie(d): => dit si une date d=[j,m,a] donnée est un anniversaire
         si la date est un anniversaire, renvoie son libellé et l'âge
         sinon, renvoie "unavailable" et "" afin de masquer le sensor"""
    j,m,a = d
    F,L = listeanniversaires(a)
    anniversaires = []
    ages = []
    for i in range(0, len(F)):
        if j==F[i][0] and m==F[i][1]:
            annee_naissance=F[i][2]
            years = annee - int(annee_naissance)
            anniversaires.append(L[i])
            ages.append(years)
    if anniversaires:
        return anniversaires, ages
    return "unavailable", ""

annivjour, agejour = estanniversaire([aujourdhui,mois,annee])
annivdemain, agedemain = estanniversaire([demain,mois,annee])

def format_anniversaires(noms):
    if not noms or noms == "unavailable":
        return "unavailable"
    elif len(noms) == 1:
        return noms[0]
    else:
        return " et ".join(noms)

def format_ages(ages):
    if not ages or ages == "":
        return ""
    elif len(ages) == 1:
        return ages[0]
    else:
        return ages

annivjour_formatted = format_anniversaires(annivjour)
annivdemain_formatted = format_anniversaires(annivdemain)

hass.states.set("sensor.jour_anniversaire", annivjour_formatted,
    {
        "icon": "mdi:calendar-star",
        "friendly_name": "Aujourd'hui c'est l'anniversaire de ",
        "années": agejour
    }
)

hass.states.set("sensor.demain_anniversaire", annivdemain_formatted,
    {
        "icon": "mdi:calendar-star",
        "friendly_name": "Demain c'est l'anniversaire de",
        "années": agedemain
    }
)

Dans les automatisations pour une notification :

- data:
      message: >
        {% set noms = states('sensor.jour_anniversaire').split(' et ') %} {% set
        ages = state_attr('sensor.jour_anniversaire', 'années') %} Aujourd'hui
        c'est l'anniversaire 🎉 de {% if ages is string %}
          {{ noms[0] }} ({{ ages }} ans).
        {% else %}
          {% for i in range(noms|length) %}{{ noms[i] }} ({{ ages[i] }} ans){% if not loop.last %} et {% endif %}{% endfor %}.
        {% endif %}
      title: ANNIVERSAIRE
      data:
        notification_icon: mdi:cake-variant
    enabled: true
    action: notify.mobile_app_sm_a0000