Déterminer nombre de jour depuis une date fixe

Bonjour,

Je me suis déjà réalisé un petit template qui permet de calculer un % d’amortissement de mes panneaux solaire. (energie produite et consommée X 0.23€) et après un produit en croix par rapport à l’investissement initial me permet de savoir combien j’ai amortis.

Pour m’amuser un peu plus j’aimerais faire un template qui estimerais le jour d’amortissement en fonction de l’amortissement que j’ai effectué depuis la date d’installation. En gros ce que j’ai déjà consommé je veux le moyenner par jour et faire un produit en croix pour voir à qu’elle date je tombe.

je bloque à la première étape qui est de savoir combien de jours s’est passée depuis mon installation (05/06/2024)

{% set reference_date = '2024-06-05' %}
{% set today = now() %}
{% set days_elapsed = (today - reference_date).days %}

{{ days_elapsed }}

Ce template ne fonctionne pas et je trouve peu de sujet sur ce genre de calcul.
Quelqu’un saurait m’aider à corriger ?
Merci

Salut,

Perso je ne m’emm*** plus

{% from 'easy_time.jinja' import custom_time_between %}
{{ custom_time_between("2023-04-07 00:00:00", now(), 'day', language='fr') }}
1 « J'aime »

Et voici pour avoir juste le nombre de jours sans le texte « jours » pour faire des calculs:

{% from 'easy_time.jinja' import count_the_days %}
Nb jours {{ (count_the_days("2024-04-05 12:00:00") |int(0)) * -1 }}

Pas trouvé comment avoir direct en positif.
Bob

1 « J'aime »

Merci pour vos réponses j’ai réussi à avoir dans combien de jours/ années estimé j’aurais amortis.

{% from 'easy_time.jinja' import speak_the_days %}

{% set jours_ecoules = count_the_days("2024-06-05 12:00:00") |int(0) * -1 %}
{% set jour_estimation = (jours_ecoules*100 / (states('sensor.rentabilite_panneaux') | float))%}

{{ jour_estimation / 365 | round(2) }}

J’ai un dernier problème malgré mon round (2) je me trouve avec un nombre pas arrondi.

Alors pareil pas trouvé de sujet, mais maintenant que j’ai mon nombre de jour (1145 par exemple)
Comment je pourrais faire pour avoir la date à laquelle ça me fait arriver.
Raisonnement:
Aujourd’hui + calcul (1145) = 25/01/2032

Je me répond à moi si un jour quelqu’un tente de faire la même chose voici le code :

{% from 'easy_time.jinja' import count_the_days %}
{% from 'easy_time.jinja' import speak_the_days %}

{% set jours_ecoules = count_the_days("2024-06-05 12:00:00") |int(0) * -1 %}
{% set jour_estimation = (jours_ecoules*100 / (states('sensor.rentabilite_panneaux') | float))%}
{% set future_date = now() + timedelta(days=jour_estimation) %}

{{ future_date.strftime('%d-%m-%Y')}}