Mon problème
Bonjour à tous
J’essaie d’utiliser le calendrier interne de HA pour déclencher des triggers dans mes automatisations, mais ayant suivi les exemples de la doc à la lettre, ça ne fonctionne pas…
Renseigner votre problème
Petite automatisation toute simple, j’essaie d’allumer un circuit d’alimentation du chauffe-eau lorsque j’ai l’évènement « chauffe-eau » dans mon calendrier local (calendrier HA).
J’ai fait l’automatisation suivante, en suivant à la lettre le tuto https://www.home-assistant.io/integrations/local_calendar
Et en particulier l’exemple « Example: Calendar Event Light Schedule » du tuto https://www.home-assistant.io/integrations/calendar#automation
alias: test calendrier essai
description: Test calendrier Essai
trigger:
- platform: calendar
event: start
offset: "0:0:0"
entity_id: calendar.calendrier_ha
- platform: calendar
event: end
offset: "0:0:0"
entity_id: calendar.calendrier_ha
condition:
- condition: template
value_template: "{{ 'Chauffe-eau' in trigger.calendar.calendrier_ha }}"
action:
- if:
- "{{ trigger.event == 'start' }}"
then:
- service: light.turn_on
entity_id: light.commutateur_chauffe_eau_tableau_light
else:
- service: light.turn_off
entity_id: light.commutateur_chauffe_eau_tableau_light
mode: queued
L’automatisation plante sur la condition …
Je ne vois pas ce qui ne va pas…
Quelqu’un pour m’aider ?
Merci d’avance !
Ma configuration
System Information
version
core-2022.12.7
installation_type
Home Assistant OS
dev
false
hassio
true
docker
true
user
root
virtualenv
false
python_version
3.10.7
os_name
Linux
os_version
5.15.80
arch
x86_64
timezone
Europe/Paris
config_dir
/config
Home Assistant Community Store
GitHub API
ok
GitHub Content
ok
GitHub Web
ok
GitHub API Calls Remaining
4807
Installed Version
1.28.4
Stage
running
Available Repositories
1263
Downloaded Repositories
30
Home Assistant Cloud
logged_in
false
can_reach_cert_server
ok
can_reach_cloud_auth
ok
can_reach_cloud
ok
Home Assistant Supervisor
host_os
Home Assistant OS 9.4
update_channel
stable
supervisor_version
supervisor-2022.11.2
agent_version
1.4.1
docker_version
20.10.19
disk_total
30.8 GB
disk_used
20.5 GB
healthy
true
supported
true
board
ova
supervisor_api
ok
version_api
ok
installed_addons
File editor (5.4.2), MariaDB (2.5.1), Nginx Proxy Manager (0.12.3), Plex Media Server (3.1.2), Samba share (10.0.0), Samba Backup (5.2.0), Mosquitto broker (6.1.3), SQLite Web (3.6.1), InfluxDB (4.5.0), Grafana (8.1.0)
Dashboards
dashboards
2
resources
15
views
10
mode
storage
Recorder
oldest_recorder_run
1 novembre 2022 à 12:30
current_recorder_run
19 décembre 2022 à 17:37
estimated_db_size
3737.84 MiB
database_engine
sqlite
database_version
3.38.5
___
Hello
Malgre les info que tu donne tu as oublié quelque chose
mets les journaux de HA et quand tu déclenches en manuel
poste une capture de TRACE
ex:
Si tu regarde l’exemple, je pense que ton value_template n’est pas bon.
automation:
alias: Front Light Schedule
trigger:
- platform: calendar
event: start
entity_id: calendar.device_automation
- platform: calendar
event: end
entity_id: calendar.device_automation
condition:
- condition: template
value_template: "{{ 'Front Lights' in trigger.calendar_event.summary }}"
action:
- if:
- "{{ trigger.event == 'start' }}"
then:
- service: light.turn_on
entity_id: light.front
else:
- service: light.turn_off
entity_id: light.front
mode: queued
Merci Telenaze de ton message.
J’ai corrigé le value template, de la façon suivante :
condition:
- condition: template
value_template: "{{ 'Chauffe-eau' in trigger.calendar_event.summary }}"
mais en déclenchant en manuel, j’obtiens l’erreur suivante :
« In ‹ template › condition: UndefinedError: ‹ trigger › is undefined »
Je crois que tu as mis un C majuscule a Chauffe alors que qu’il faudrait un c minuscule.
Je crois que tu as mis un C majuscule a Chauffe
Correction faite, mais sans plus de résultat. Je pense qu’il doit y avoir un problème de syntaxe dans la condition, j’ai essayé pas mal de choses, mais rien n’a fonctionné jusqu’à présent…
Passe par les outils de développement pour décomposer et tester
Désolé, je ne vois pas comment, si tu as une idée, peux-tu m’orienter ?
Merci d’avance
Bonjour,
Grâce à ce post, j’ai découvert cette nouvelle intégration. Je viens de l’ajouter mais forcément la première question qui se pose est : Comment créer un évènement ?
Quelqu’un aurait une piste s’il vous plait ?
Il n’y a pas grand chose à faire à part aller dans les ‹ modèles › et copier/coller
Là comme je n’ai pas tes entités, ça rale en rouge, normal
Bonjour ,
@Pulpy-Luke même avec une config Ok de mon coté, on ne peut accéder à l’objet trigger dans ‹ modèle ›, ni même dans les événements, on ne voit pas le déclencheur du calendrier mais uniquement le déclenchement de l’automatisation.
@Voileux , apparemment l’automatisation ce déclenche. Il faut investiguer en regardant le journal d’execution de l’automatisation (Traces) de la on voit les données du déclencheur et le résultat d’eval de la condition.
Si c’est un prb de déclenchement, il faut faire attention au mode de l’automatisation (conseillé ‹ queued › ou ‹ parallel ›) et au délai ; il faut au moins 15 min avant l’événement en cas de test (les evenements sont lus toute les 15 min)
SebCaps:
@Pulpy-Luke même avec une config Ok de mon coté, on ne peut accéder à l’objet trigger dans ‹ modèle ›, ni même dans les événements, on ne voit pas le déclencheur du calendrier mais uniquement le déclenchement de l’automatisation.
Oui tu as raison, mais il est quand même possible d’ajouter un variable json qui a la même structure que le trigger. On valide ensuite la ‹ fin › du template
après plusieurs tests, voici celle qui fonctionne chez moi.
alias: 01 calendar
description: ""
trigger:
- platform: calendar
event: start
offset: "0:0:0"
entity_id: calendar.device_automation
- platform: calendar
event: end
offset: "0:0:0"
entity_id: calendar.device_automation
condition:
- condition: template
value_template: "{{ 'Front Lights' in trigger.calendar_event.summary }}"
action:
- if:
- condition: template
value_template: "{{ trigger.event == 'start' }}"
then:
- service: notify.persistent_notification
data:
message: déclenchement calendar
title: Calendar !
enabled: true
else:
- service: notify.persistent_notification
data:
message: pas déclenchement calendar
title: pas calendar
- service: persistent_notification.create
data:
message: >-
Event {{ trigger.calendar_event.summary }} @ {{
trigger.calendar_event.start }}
mode: queued
Merci Telenaze
J’ai suivi ton automatisation, et attendu 15 minutes…. Et ça marche !
Le résultat est ici :
alias: test calendrier essai
description: Test calendrier Essai
trigger:
- platform: calendar
event: start
offset: "0:0:0"
entity_id: calendar.calendrier_ha
- platform: calendar
event: end
offset: "0:0:0"
entity_id: calendar.calendrier_ha
condition:
- condition: template
value_template: "{{ 'Chauffe-eau' in trigger.calendar_event.summary }}"
action:
- if:
- condition: template
value_template: "{{ trigger.event == 'start' }}"
then:
- service: light.turn_on
data: {}
target:
entity_id: light.commutateur_chauffe_eau_tableau_light
else:
- service: light.turn_off
data: {}
target:
entity_id: light.commutateur_chauffe_eau_tableau_light
mode: queued
Un grand merci à tous pour votre aide ! Joyeux Noël…
1 « J'aime »
Tu vas dans l’onglet Calendrier, et tu fais « ajouter un événement » en bas de la page.
Il faut préalablement que tu aies déclaré ton entité « local calendar » dans la page de l’onglet.
1 « J'aime »
Pfff, désolé centré sur la carte que je n’ai même pas remarqué l’onglet sur le côté. Désolé pour la question bête.
1 « J'aime »