Los disparadores en automatizaciones de calendario permiten la automatización basada en el inicio o el final de un evento. Adicionalmente, se puede configurar cuánto tiempo antes queremos que se dispare la automatización.
Estas automatizaciones son válidas tanto para el calendario local de Home Assistant cómo para el calendario integrado de Google.
Un ejemplo de un disparador de calendario en YAML:
automation:
- trigger:
- platform: calendar
# Possible values: start, end
event: start
# The calendar entity_id
entity_id: calendar.personal
# Optional time offset to fire a set time before or after event start/end
offset: -00:15:00
Los disparadores de calendario generalmente no deben usar el modo de automatización single
para garantizar que el disparador pueda activarse cuando varios eventos comiencen al mismo tiempo (por ejemplo, use queued
o parallel
en su lugar). Tenga en cuenta que los calendarios se leen una vez cada 15 minutos. Al realizar la prueba, asegúrese de no planificar eventos a menos de 15 minutos de la hora actual, o es posible que su disparador no se active.
Consulte Variables de activación de automatización: Calendario para obtener datos de activación adicionales disponibles para condiciones o acciones.
Ejemplos de automatizaciones de calendario
A continuación, se muestran algunas formas de ejemplo en las que puede usar los activadores de Calendario. Ejemplo: notificación de eventos de calendario
Este ejemplo de automatización consta de:
- Para la entidad de calendario
calendar.personal
. - Al comienzo de cualquier evento del calendario.
- Envía una notificación con el título y la hora de inicio del evento.
- Permitiendo que múltiples eventos comiencen al mismo tiempo.
automation:
- alias: Calendar notification
trigger:
- platform: calendar
event: start
entity_id: calendar.personal
action:
- service: persistent_notification.create
data:
message: >-
Event {{ trigger.calendar_event.summary }} @
{{ trigger.calendar_event.start }}
Ejemplo: Horario de luces de eventos del calendario
Este ejemplo consta de:
- Para la entidad de calendario
calendar.device_automation
. - Cuando el resumen del evento contiene
Front Lights
. - Enciende y apaga la luz nombrada
light.front
cuando comienza y termina el evento.
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
Variables de activación de automatización para calendario
variable de plantilla | Datos |
---|---|
trigger.platform | Codificado: calendar |
trigger.event | El tipo de evento desencadenante ya sea start o end |
trigger.calendar_event | El objeto de evento de calendario coincidió. |
trigger.calendar_event.summary | El título o resumen del evento del calendario. |
trigger.calendar_event.start | Representación de cadena de la fecha de inicio o la fecha y hora del evento del calendario, por ejemplo 2022-04-10 , o2022-04-10 11:30:00-07:00 |
trigger.calendar_event.end | Representación de cadena de la hora de finalización de la fecha hora del evento del calendario en UTC, por ejemplo 2022-04-11 , o2022-04-10 11:45:00-07:00 |
trigger.calendar_event.all_day | Indica que el evento abarca todo el día. |
trigger.calendar_event.description | Una descripción detallada del evento del calendario, si está disponible. |
trigger.calendar_event.location | Información de ubicación para el evento del calendario, si está disponible. |
trigger.offset | Objeto Time delta con compensación al evento, si lo hay |