Skip to content

Automatizaciones de calendario

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.

Automatizaciones de calendario

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 singlepara garantizar que el disparador pueda activarse cuando varios eventos comiencen al mismo tiempo (por ejemplo, use queuedparallel 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.frontcuando 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
Índice de contenido

    Variables de activación de automatización para calendario

    variable de plantillaDatos
    trigger.platformCodificado: calendar
    trigger.eventEl tipo de evento desencadenante ya sea start o end
    trigger.calendar_eventEl objeto de evento de calendario coincidió.
    trigger.calendar_event.summaryEl título o resumen del evento del calendario.
    trigger.calendar_event.startRepresentació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.endRepresentació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_dayIndica que el evento abarca todo el día.
    trigger.calendar_event.descriptionUna descripción detallada del evento del calendario, si está disponible.
    trigger.calendar_event.locationInformación de ubicación para el evento del calendario, si está disponible.
    trigger.offsetObjeto Time delta con compensación al evento, si lo hay

    Sígueme a YouTube

    Sígueme en Youtube - Automatizaciones de calendario

    Ajustes