Automation date dans une action pb syntaxe

Bonjour,

Mon problème

Je souhaite créer une date de relance pour le programme de rinçage de mon lave-vaisselle.

La date de départ est celle du jour.

Le nombre de jours de décalage se situe dans un
« input_number.decalage » .

La date de relance se situera dans un input_datetime. Pour pouvoir l’afficher sur mon Dashboard.

Je ne trouve pas la syntaxe pour réaliser cette opération.

Ma configuration

System Information

version core-2024.6.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.2
os_name Linux
os_version 6.6.31-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.34.0
Stage running
Available Repositories 1391
Downloaded Repositories 65
HACS Data ok
Home Assistant Cloud
logged_in true
subscription_expiration 16 juillet 2024 à 02:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled true
remote_server eu-central-1-20.ui.nabu.casa
certificate_status ready
instance_id 0beed8515cea4d3db77a00adf82e7579
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 12.4
update_channel stable
supervisor_version supervisor-2024.06.2
agent_version 1.6.0
docker_version 26.1.4
disk_total 228.5 GB
disk_used 17.0 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.14.0), File editor (5.8.0), Samba share (12.3.1), Studio Code Server (5.15.0), InfluxDB (5.0.0), Grafana (10.0.0), Linky (1.4.0), Mosquitto broker (6.4.1), Zigbee2MQTT (1.39.0-1), go2rtc (1.9.4), Frigate (0.13.2)
Dashboards
dashboards 2
resources 45
views 35
mode storage
Recorder
oldest_recorder_run 23 juin 2024 à 06:59
current_recorder_run 2 juillet 2024 à 18:32
estimated_db_size 171.24 MiB
database_engine sqlite
database_version 3.44.2
Xiaomi Miot Auto
component_version 0.7.18
can_reach_server ok
can_reach_spec ok
logged_accounts 0
total_devices 0

Excusez moi, pas trop bien réveillé’ je manque a tous mes devoirs

« merci pour votre aide »

Bonjour,
pas tout saisi mais pour les calcul de date tu peux regarder ce poste de notre @Pulpy-Luke :wink:
Déterminer nombre de jour depuis une date fixe - Entraide Home Assistant - Home Assistant Communauté Francophone (hacf.fr)
Bob

1 « J'aime »

Salut,

C’est pas facile de savoir ce que tu veux afficher au final, la date, le nb de jours restant ?
Et puis est-ce utilise de mettre ça dans un input_datetime ? si c’est juste pour de l’affichage, c’est pas certain.

Voila à une base de travail

{% set nbj = states('input_number.seuil_isolation') | int(0) %}
{% set decal = (nbj~" days") | as_timedelta %}
{% set ndate = now() + decal %}

Prochaine date : {{ndate}}

{% from 'easy_time.jinja' import custom_time_between %}
Restants : {{ custom_time_between(ndate, now(), 'day', language='fr') }}

Salut @Pulpy-Luke

Grace à toi j’ai enfin le résultat escompté.

Toutefois je souhaiterais la date uniquement, et un format à la française.

actuellement j’ai ca :

Capture d'écran 2024-07-03 131406

merci et bonne journée

j’ai mis ca dans un template au lieu de l’input_datetime

{% set nbj = states('input_number.frequence_rincage_lv_2') | int(0) %}
{% set decal = (nbj~" days") | as_timedelta %}
{% set ndate = now() + decal %}


{{ndate}}

Salut,

Pour moi il y encore des trucs pas clairs donc ton idée… now + 5j ça donne le 08 aujourd’hui mais demain, sauf si l’input_number est recalculé d’une façon ou d’une autre, ça donnera le 09
Et donc si tu fais une modification au fur et à mesure de l’input_number, autant partir sur une date fixe (input_datetime), plutôt qu’un delta (input_number)

{% set nbj = states('input_number.frequence_rincage_lv_2') | int(0) %}
{% set decal = (nbj~" days") | as_timedelta %}
{% set ndate = now() + decal %}

{{as_timestamp(ndate,0)| timestamp_custom('%d-%m-%Y') }}

bonjour a toutes et a tous

@Pulpy-Luke en fait tu as raison.

Je souhaite remplacer le now() par la valeur de input_datetime.rincage_dernier
et je n’y arrive pas quelles serait la bonne syntaxe ?

bonne journée

Salut

Tu as essayé avec states('input_datetime.rincage_dernier')?

Oui mais message erreur en outil développement

« TypeError: can only concatenate str (not « datetime.timedelta ») to str »

Mon code

{% set nbj = states('input_number.frequence_rincage_lv_2') | int(0) %}
{% set decal = (nbj~" days") | as_timedelta %}
{% set ndate = states('input_datetime.rincage_dernier') + decal %}

{{as_timestamp(ndate,0)| timestamp_custom('%d-%m-%Y') }}

C’est quoi le contenu de input_datetime.rincage_dernier ?
N’oublie pas la mise en forme du code, sinon c’est compliqué à corriger/comprendre :wink:

Pour la mise en forme du code c’a bug j’ai essayé par 2 fois.

Pour l’input_ number il enregistre la date du rincage soit la date du jour . A l’aide d’une automatisation.

Du coup elle se trouve figée pour éviter le pb que tu soulevais plus haut si on utilise now() ce qui décalerait d’un jour chaque jour la date butoir.

ça marche très bien il faut utiliser le bon raccourci

J’ai bien compris comment ça fonctionne, mais ce que j’ai besoin de savoir c’est à quoi ressemble son contenu. Un timestamp, une date/heure etc …
En fonction de comment c’est ecrit dedans, le calcul à faire est différent.
Tu peux par exemple partager ce que tu en vois dans les outils de dev
Voilà 3 exemples différents

Comme tu peux constater sur image ci dessous je n’ai pas l’icone pour le code.

Sinon pour mon input_number

Merci pour ton aide dans tous les cas

clique sur la petite roue
image

Essaye ça

{% set nbj = states("input_number.frequence_rincage_lv_2") | int(0) %}
{% set decal = (nbj~" days") | as_timedelta %}
{% set last = states("input_datetime.rincage_dernier") %}
{% set ndate = strptime(last,"%Y-%m-%d") + decal %}

{{as_timestamp(ndate,0)| timestamp_custom('%d-%m-%Y') }}

Parfait merci et bonne fin de soirée