# Calcul durée entre maintenant et couché du soleil

**URL:** <https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700>\
**Category:** Entraide Home Assistant\
**Tags:** automatisation-automation\
**Created:** [Mai 12, 2026, 8:24 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700 "2026-05-12T08:24:01Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![marc\_flouret](https://forum.hacf.fr/user_avatar/forum.hacf.fr/marc_flouret/32/129268_2.png) [@marc\_flouret](https://forum.hacf.fr/u/marc_flouret)\
**Post date:** [Mai 12, 2026, 8:24 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/1 "2026-05-12T08:24:01Z")

</div>

Bonjour,

Je suis débutant avec home assistant.  
Je commence à m’en sortir avec les automatisations en mode éditeur visuel

Je voudrais calculer la durée entre maintenant et le couché du soleil, pour savoir si je mets ma tondeuse en pause ou si j’annule la tonte.  
Je ne sais pas où commencer à chercher

Merci

---

<div class="post-metadata">

**Author:** ![Patrick\_GERARD](https://forum.hacf.fr/user_avatar/forum.hacf.fr/patrick_gerard/32/130742_2.png) [@Patrick\_GERARD](https://forum.hacf.fr/u/Patrick_GERARD)\
**Post date:** [Mai 12, 2026, 8:31 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/2 "2026-05-12T08:31:38Z")

</div>

> [@marc\_flouret](#):
>
> Je voudrais calculer la durée entre maintenant et le couché du soleil

Bonjour,

### Configuration du capteur (YAML)

Vous pouvez placer ce code dans votre `configuration.yaml`

```auto
template:
  - sensor:
      - name: "Compte à rebours coucher du soleil"
        unique_id: "solar_countdown_hhmm"
        state: >
          {% set sun_set = state_attr('sun.sun', 'next_setting') | as_datetime %}
          {% set t_delta = sun_set - now() %}
          {% set total_seconds = t_delta.total_seconds() | max(0) %}
          {{ total_seconds | timestamp_custom('%H:%M', false) }}
        icon: "mdi:weather-night"
        attributes:
          friendly_time: >
            {% set sun_set = state_attr('sun.sun', 'next_setting') | as_datetime %}
            {% set t_delta = sun_set - now() %}
            {% if t_delta.total_seconds() > 0 %}
              {{ t_delta.total_seconds() | timestamp_custom('%Hh %Mmin', false) }}
            {% else %}
              Couché
            {% endif %}

```

voilà si sa peu aider

un petit code Mushroom Template Card

```auto
type: custom:mushroom-template-card
primary: "Coucher du soleil"
secondary: >
  {% set sun_set = state_attr('sun.sun', 'next_setting') | as_datetime %}
  {% set t_delta = sun_set - now() %}
  {% if t_delta.total_seconds() > 0 %}
    Dans {{ t_delta.total_seconds() | timestamp_custom('%H:%M', false) }}
  {% else %}
    Déjà couché
  {% endif %}
icon: mdi:weather-sunset-down
icon_color: orange
entity: sun.sun

```

 ![coucher](https://forum.hacf.fr/uploads/default/original/3X/5/d/5d0eeff41b375733db325bfda75971e359dcfd65.png)

---

<div class="post-metadata">

**Author:** ![marc\_flouret](https://forum.hacf.fr/user_avatar/forum.hacf.fr/marc_flouret/32/129268_2.png) [@marc\_flouret](https://forum.hacf.fr/u/marc_flouret)\
**Post date:** [Mai 12, 2026, 8:39 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/3 "2026-05-12T08:39:59Z")

</div>

Merci,  
puis-je me permettre d’abuser ?  
Est-ce que j’aurais pu faire ça avec l’éditeur ?

---

<div class="post-metadata">

**Author:** ![Patrick\_GERARD](https://forum.hacf.fr/user_avatar/forum.hacf.fr/patrick_gerard/32/130742_2.png) [@Patrick\_GERARD](https://forum.hacf.fr/u/Patrick_GERARD)\
**Post date:** [Mai 12, 2026, 8:41 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/4 "2026-05-12T08:41:12Z")

</div>

> [@marc\_flouret](#):
>
> puis-je me permettre d’abuser ?  
> Est-ce que j’aurais pu faire ça avec l’éditeur ?

puis-je me permettre d’abuser ? non pas de soucis  
Est-ce que j’aurais pu faire ça avec l’éditeur ? quel editeur

---

<div class="post-metadata">

**Author:** ![marc\_flouret](https://forum.hacf.fr/user_avatar/forum.hacf.fr/marc_flouret/32/129268_2.png) [@marc\_flouret](https://forum.hacf.fr/u/marc_flouret)\
**Post date:** [Mai 12, 2026, 8:43 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/5 "2026-05-12T08:43:57Z")

</div>

ce que home assistant appelle 'éditeur visuel'  
ce genre là :

 ![image](https://forum.hacf.fr/uploads/default/original/3X/2/b/2bd3f488a092bfccf0856371f4cf47a8145181eb.png)

---

<div class="post-metadata">

**Author:** ![Patrick\_GERARD](https://forum.hacf.fr/user_avatar/forum.hacf.fr/patrick_gerard/32/130742_2.png) [@Patrick\_GERARD](https://forum.hacf.fr/u/Patrick_GERARD)\
**Post date:** [Mai 12, 2026, 8:49 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/6 "2026-05-12T08:49:08Z")

</div>

pas dans faire une automation, c’est fait pour une automatisation qui permet de dire a un appareil fait ceci ou cela. Dans ton cas l’automatisation servira a dire a ta tondeuse ne tond plus apres le coucher du soleil.

---

<div class="post-metadata">

**Author:** ![Patrick\_GERARD](https://forum.hacf.fr/user_avatar/forum.hacf.fr/patrick_gerard/32/130742_2.png) [@Patrick\_GERARD](https://forum.hacf.fr/u/Patrick_GERARD)\
**Post date:** [Mai 12, 2026, 8:52 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/7 "2026-05-12T08:52:26Z")

</div>

> [@marc\_flouret](#):
>
> pour savoir si je mets ma tondeuse en pause ou si j’annule la tonte.

voila un exemple d’automatisme

```auto
alias: "Tondeuse : Gestion fin de journée"
description: "Décide de mettre en pause ou d'annuler selon le soleil"
trigger:
  - platform: time_pattern
    minutes: "/15" # Vérifie toutes les 15 minutes
condition:
  - condition: state
    entity_id: vacuum.mova_robot_mower # Remplacez par votre entité
    state: "cleaning" # Uniquement si elle est en train de tondre
action:
  - choose:
      # CAS 1 : ANNULATION (S'il reste moins de 60 min avant le soleil et que la batterie est basse)
      - conditions:
          - condition: numeric_state
            entity_id: sensor.compte_a_rebours_soleil_minutes
            below: 60
          - condition: numeric_state
            entity_id: sensor.mova_battery_level
            below: 30
        sequence:
          - service: vacuum.return_to_base
            target:
              entity_id: vacuum.mova_robot_mower
          - service: notify.mobile_app_votre_telephone
            data:
              title: "Tonte Annulée"
              message: "Trop tard et batterie basse. Retour à la base."

      # CAS 2 : PAUSE (S'il reste moins de 30 min avant le coucher du soleil)
      - conditions:
          - condition: numeric_state
            entity_id: sensor.compte_a_rebours_soleil_minutes
            below: 30
        sequence:
          - service: vacuum.pause
            target:
              entity_id: vacuum.mova_robot_mower
          - service: notify.mobile_app_votre_telephone
            data:
              title: "Tondeuse en Pause"
              message: "Le soleil se couche. Reprise demain matin."

```

---

<div class="post-metadata">

**Author:** ![marc\_flouret](https://forum.hacf.fr/user_avatar/forum.hacf.fr/marc_flouret/32/129268_2.png) [@marc\_flouret](https://forum.hacf.fr/u/marc_flouret)\
**Post date:** [Mai 12, 2026, 8:53 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/8 "2026-05-12T08:53:43Z")

</div>

Ce code yaml que tu m’as gentiment fourni, je vais le mettre dans ‹&nbsp;outil de developpement/modele&nbsp;› et il va me créer une entité ou un capteur que je pourrai utiliser dans mes automatisations ?

---

<div class="post-metadata">

**Author:** ![Patrick\_GERARD](https://forum.hacf.fr/user_avatar/forum.hacf.fr/patrick_gerard/32/130742_2.png) [@Patrick\_GERARD](https://forum.hacf.fr/u/Patrick_GERARD)\
**Post date:** [Mai 12, 2026, 9:00 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/9 "2026-05-12T09:00:11Z")

</div>

> [@marc\_flouret](#):
>
> Ce code yaml que tu m’as gentiment fourni, je vais le mettre dans ‹ outil de developpement/modele › et il va me créer une entité ou un capteur que je pourrai utiliser dans mes automatisations ?

L’onglet **« Outils de développement \> Modèle »** est (un testeur). Il sert uniquement à vérifier que votre code fonctionne et à voir le résultat en temps réel. **Il ne crée pas d’entité permanente.** Dès que vous quittez la page ou que vous effacez le code, le calcul «&nbsp;disparaît&nbsp;».

Pour créer un capteur (sensor) que vous pourrez utiliser dans vos automatisations et sur votre tableau de bord, vous avez deux options :

### Option 1 : Via l’interface (Sans redémarrer) - **Recommandé**

C’est la méthode la plus simple pour transformer votre test en véritable entité :

1. Allez dans **Paramètres** \> **Appareils et services**.
2. Cliquez sur l’onglet **Entrées** en haut.
3. Cliquez sur **Créer une entrée** (bouton en bas à droite).
4. Choisissez **Modèle** (Template), puis **Modéliser un capteur**.
5. **Nom** : «&nbsp;Compte à rebours coucher du soleil&nbsp;».
6. **État (Template)** : Collez ici la partie du code qui commence par `{% set ... %}`.
7. **Classe d’appareil** : Laissez vide ou choisissez «&nbsp;Durée&nbsp;».
8. Validez.

Désormais, vous aurez une entité nommée `sensor.compte_a_rebours_coucher_du_soleil` disponible partout.

### Option 2 : Via le fichier `configuration.yaml`

Si vous préférez gérer votre domotique par code (comme pour vos dashboards complexes) :

1. Collez le bloc complet `template:` dans votre fichier `configuration.yaml`.
2. Allez dans **Outils de développement \> YAML**.
3. Cliquez sur **Configuration du modèle** (Template entities) pour recharger sans redémarrer tout Home Assistant.

### Résumé pour votre automatisation de tonte :

Une fois l’étape 1 ou 2 terminée, vous pourrez aller dans l’éditeur d’automatisation et simplement choisir :

- **Déclencheur** : État.
- **Entité** : `sensor.compte_a_rebours_coucher_du_soleil`.
- **Condition** : Si l’état est inférieur à `00:45:00`, alors «&nbsp;Pause&nbsp;» ou «&nbsp;Retour base&nbsp;».

**En résumé :** Utilisez l’onglet «&nbsp;Modèle&nbsp;» pour tester vos calculs sur la tondeuse, mais passez par les «&nbsp;Entrées&nbsp;» pour créer le capteur définitif.

---

<div class="post-metadata">

**Author:** ![marc\_flouret](https://forum.hacf.fr/user_avatar/forum.hacf.fr/marc_flouret/32/129268_2.png) [@marc\_flouret](https://forum.hacf.fr/u/marc_flouret)\
**Post date:** [Mai 12, 2026, 9:11 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/10 "2026-05-12T09:11:36Z")

</div>

Ok  
un grand merci.  
Je comprends aussi que si je veux faire ce genre de calcul, il faut que je me mette au ‹&nbsp;yaml&nbsp;›

---

<div class="post-metadata">

**Author:** ![Patrick\_GERARD](https://forum.hacf.fr/user_avatar/forum.hacf.fr/patrick_gerard/32/130742_2.png) [@Patrick\_GERARD](https://forum.hacf.fr/u/Patrick_GERARD)\
**Post date:** [Mai 12, 2026, 9:14 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/11 "2026-05-12T09:14:21Z")

</div>

oui ou créer une entrée

---

<div class="post-metadata">

**Author:** ![Idaho947](https://forum.hacf.fr/user_avatar/forum.hacf.fr/idaho947/32/36207_2.png) [@Idaho947](https://forum.hacf.fr/u/Idaho947)\
**Post date:** [Mai 12, 2026, 9:18 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/12 "2026-05-12T09:18:14Z")

</div>

Une autre possibilité est de faire le calcul directement dans l’automatisation (mais oui, toujours en YAML) avec une condition template.

```auto
condition: template
value_template: ""

```

C’est le même principe, mais si ce calcul n’est pas utilisé ailleurs, cela permet de ne pas créer une entité permanente.

---

<div class="post-metadata">

**Author:** ![Tochy](https://forum.hacf.fr/user_avatar/forum.hacf.fr/tochy/32/41667_2.png) [@Tochy](https://forum.hacf.fr/u/Tochy)\
**Post date:** [Mai 12, 2026, 9:24 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/13 "2026-05-12T09:24:27Z")

</div>

Salut

Non il faut que tu te mettes au jinja2 qui est le language de templating de HA, ce qui est different du yaml.

---

<div class="post-metadata">

**Author:** ![marc\_flouret](https://forum.hacf.fr/user_avatar/forum.hacf.fr/marc_flouret/32/129268_2.png) [@marc\_flouret](https://forum.hacf.fr/u/marc_flouret)\
**Post date:** [Mai 12, 2026, 9:24 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/14 "2026-05-12T09:24:49Z")

</div>

Il me signale une erreur :

 ![image](https://forum.hacf.fr/uploads/default/original/3X/b/f/bfb76acfa73fee29667fda02c4ce77b694830c77.png)

---

<div class="post-metadata">

**Author:** ![marc\_flouret](https://forum.hacf.fr/user_avatar/forum.hacf.fr/marc_flouret/32/129268_2.png) [@marc\_flouret](https://forum.hacf.fr/u/marc_flouret)\
**Post date:** [Mai 12, 2026, 9:28 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/15 "2026-05-12T09:28:11Z")

</div>

Désolé, j'ai répondu à idaho :  
J'ai cette erreur :

 ![image](https://forum.hacf.fr/uploads/default/original/3X/b/f/bfb76acfa73fee29667fda02c4ce77b694830c77.png)

---

<div class="post-metadata">

**Author:** ![marc\_flouret](https://forum.hacf.fr/user_avatar/forum.hacf.fr/marc_flouret/32/129268_2.png) [@marc\_flouret](https://forum.hacf.fr/u/marc_flouret)\
**Post date:** [Mai 12, 2026, 9:30 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/16 "2026-05-12T09:30:10Z")

</div>

A mon age, ça devient compliqué d’apprendre tout ces langages. Je m’étais mis un peu au php avec eedomus.  
j’apprends où le jinja2 ?

---

<div class="post-metadata">

**Author:** ![Patrick\_GERARD](https://forum.hacf.fr/user_avatar/forum.hacf.fr/patrick_gerard/32/130742_2.png) [@Patrick\_GERARD](https://forum.hacf.fr/u/Patrick_GERARD)\
**Post date:** [Mai 12, 2026, 9:33 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/17 "2026-05-12T09:33:37Z")

</div>

j’ai 59 ans

remplace le code par celui-ci

```auto
- sensor:
      - name: "Compte à rebours coucher du soleil"
        unique_id: "solar_countdown_hhmm"
        state: >
          {% set next_setting = state_attr('sun.sun', 'next_setting') %}
          {% if next_setting is not none %}
            {% set t_delta = next_setting | as_datetime - now() %}
            {# Correction ici : utilisation de la fonction max(0, valeur) #}
            {% set total_seconds = max(0, t_delta.total_seconds()) %}
            {{ total_seconds | timestamp_custom('%H:%M', false, default='00:00') }}
          {% else %}
            00:00
          {% endif %}
        icon: "mdi:weather-night"
        attributes:
          friendly_time: >
            {% set next_setting = state_attr('sun.sun', 'next_setting') %}
            {% if next_setting is not none %}
              {% set t_delta = next_setting | as_datetime - now() %}
              {% set total_seconds = max(0, t_delta.total_seconds()) %}
              {% if total_seconds > 0 %}
                {% set hours = (total_seconds // 3600) | int %}
                {% set minutes = ((total_seconds % 3600) // 60) | int %}
                {% set h_text = hours ~ ' heure' if hours <= 1 else hours ~ ' heures' %}
                {% set m_text = minutes ~ ' minute' if minutes <= 1 else minutes ~ ' minutes' %}
                {{ h_text ~ ' et ' ~ m_text if hours > 0 else m_text }}
              {% else %}
                Couché
              {% endif %}
            {% else %}
              Indisponible
            {% endif %}

```

---

<div class="post-metadata">

**Author:** ![marc\_flouret](https://forum.hacf.fr/user_avatar/forum.hacf.fr/marc_flouret/32/129268_2.png) [@marc\_flouret](https://forum.hacf.fr/u/marc_flouret)\
**Post date:** [Mai 12, 2026, 9:47 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/18 "2026-05-12T09:47:13Z")

</div>

Ok le capteur est créé. Pour le moment, il me renvoie ‹&nbsp;inconnu&nbsp;›  
by the way : 68 ans

---

<div class="post-metadata">

**Author:** ![Patrick\_GERARD](https://forum.hacf.fr/user_avatar/forum.hacf.fr/patrick_gerard/32/130742_2.png) [@Patrick\_GERARD](https://forum.hacf.fr/u/Patrick_GERARD)\
**Post date:** [Mai 12, 2026, 9:50 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/19 "2026-05-12T09:50:04Z")

</div>

> [@marc\_flouret](#):
>
> Ok le capteur est créé. Pour le moment, il me renvoie ‹ inconnu ›

Voici les raisons possibles pour lesquelles il affiche encore **«&nbsp;inconnu&nbsp;»** et comment le forcer à s’actualiser :

### 1. Attendre la prochaine minute

Le calcul utilise la fonction `now()`. Par défaut, Home Assistant ne met à jour les capteurs basés sur le temps qu’au passage de chaque minute (ex: 11:45, 11:46). Attendez une minute complète pour voir si l’état change.

### 2. Forcer la mise à jour (Outils de développement)

Si après deux minutes il est toujours «&nbsp;inconnu&nbsp;», vous pouvez forcer le système à recalculer les modèles :

1. Allez dans **Outils de développement** \> onglet **YAML**.

2. Descendez jusqu’à la section «&nbsp;Rechargement de la configuration YAML&nbsp;».

3. Cliquez sur **ENTITÉS DE MODÈLE** (Template entities).

### 3. Vérifier l’entité `sun.sun`

Le capteur dépend entièrement de l’entité soleil.

- Allez dans **Outils de développement** \> onglet **États**.

- Cherchez `sun.sun`.

- Vérifiez qu’elle possède bien un attribut `next_setting` avec une date et une heure valides. Si `sun.sun` est absente ou désactivée, le capteur restera sur «&nbsp;inconnu&nbsp;».

### 4. Erreur de syntaxe lors du copier-coller

---

<div class="post-metadata">

**Author:** ![marc\_flouret](https://forum.hacf.fr/user_avatar/forum.hacf.fr/marc_flouret/32/129268_2.png) [@marc\_flouret](https://forum.hacf.fr/u/marc_flouret)\
**Post date:** [Mai 12, 2026, 10:05 UTC](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700/20 "2026-05-12T10:05:30Z")

</div>

non, tout est bon.

```auto
          {% if next_setting is not none %}
            {% set t_delta = next_setting | as_datetime - now() %}
            {# Correction ici : utilisation de la fonction max(0, valeur) #}
            {% set total_seconds = max(0, t_delta.total_seconds()) %}
            {{ total_seconds | timestamp_custom('%H:%M', false, default='00:00') }}
          {% else %}
            00:00
          {% endif %}
        icon: "mdi:weather-night"
        attributes:
          friendly_time: >
            {% set next_setting = state_attr('sun.sun', 'next_setting') %}
            {% if next_setting is not none %}
              {% set t_delta = next_setting | as_datetime - now() %}
              {% set total_seconds = max(0, t_delta.total_seconds()) %}
              {% if total_seconds > 0 %}
                {% set hours = (total_seconds // 3600) | int %}
                {% set minutes = ((total_seconds % 3600) // 60) | int %}
                {% set h_text = hours ~ ' heure' if hours <= 1 else hours ~ ' heures' %}
                {% set m_text = minutes ~ ' minute' if minutes <= 1 else minutes ~ ' minutes' %}
                {{ h_text ~ ' et ' ~ m_text if hours > 0 else m_text }}
              {% else %}
                Couché
              {% endif %}
            {% else %}
              Indisponible
            {% endif %}
saisissez ou collez du code ici

```

[Page suivante](https://forum.hacf.fr/t/calcul-duree-entre-maintenant-et-couche-du-soleil/79700.md?page=2)
