Schedule
The schedule integration provides a way to create a weekly schedule in Home Assistant that can be used to trigger or make decisions in your automations and scripts.
The preferred way to configure a schedule is via the user interface at Settings > Devices & services > Helpers. Click the add button and then choose the Schedule option, or click the My button below.
Configuration
To add the Schedule helper to your Home Assistant instance, use this My button:
        Manual configuration steps
      
      
      
      
    
    If the above My button doesn’t work, you can also perform the following steps manually:
- 
Browse to your Home Assistant instance.
 - 
At the top of the screen, select the tab: Helpers.
 - 
In the bottom right corner, select the
Create helper button.  - 
From the list, select Schedule.
 - 
Follow the instructions on screen to complete the setup.
 
To be able to add Helpers via the user interface you should
have default_config: in your configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more], it should already
be there by default unless you removed it.
If you removed default_config: from your configuration,
you must add it back or, alternatively, schedule: to your
configuration.yaml first, before you can create them via the UI.
Alternatively, a schedule can also be created and configured via YAML configuration. For example:
# Example configuration.yaml entry
schedule:
  thermostat_schedule:
    name: "Thermostat schedule"
    monday:
      - from: "17:00:00"
        to: "21:00:00"
    tuesday:
      - from: "17:00:00"
        to: "21:00:00"
    wednesday:
      - from: "17:00:00"
        to: "21:00:00"
    thursday:
      - from: "17:00:00"
        to: "21:00:00"
    friday:
      - from: "17:00:00"
        to: "23:00:00"
    saturday:
      - from: "07:00:00"
        to: "10:00:00"
      - from: "16:00:00"
        to: "23:00:00"
    sunday:
      - from: "07:00:00"
        to: "21:00:00"
Defining the schedule in YAML also allows adding extra data to each block, which will appear as attributes on the schedule helper entity when that block is active. This can be used to easily build schedule-based automations.
The data key of each block should be a mapping of attribute names to values. In this example,
the schedule helper entity will have “Brightness” and “Color temp” attributes when
the blocks are active:
schedule:
  light_schedule:
    name: "Light schedule"
    wednesday:
      - from: "17:00:00"
        to: "21:00:00"
        data:
          brightness: 100
          color_temp: 4000
    thursday:
      - from: "17:00:00"
        to: "23:00:00"
        data:
          brightness: 90
          color_temp: 3500
    friday:
      - from: "07:00:00"
        to: "10:00:00"
        data:
          brightness: 80
          color_temp: 3000
      - from: "16:00:00"
        to: "23:00:00"
        data:
          brightness: 60
          color_temp: 2500
Configuration Variables
Alias for the schedule. Multiple entries are allowed.
Icon to display in the frontend for this schedule.
A schedule for each day of the week.
Attributes
A schedule entity’s state exports attributes that can be useful in automations and templates.
| Attribute | Description | 
|---|---|
next_event | 
A datetime object containing the next time the schedule is going to change state. | 
Automation example
A schedule creates an on/off (schedule) sensor within the times set. Using the thermostat schedule example above, you can turn on your thermostat:
triggers:
    - trigger: state
      entity_id:
        - schedule.thermostat_schedule
      to: "on"
  actions:
    - action: climate.turn_on
      target:
        entity_id: climate.thermostat
Using the light_schedule example from above in an automation might look like this:
triggers:
    - trigger: state
      entity_id:
        - schedule.light_schedule
      to: "on"
  actions:
    - action: light.turn_on
      target:
        entity_id: light.kitchen
      data:
        brightness_pct: "{{ state_attr('schedule.light_schedule', 'brightness') }}"
        kelvin: "{{ state_attr('schedule.light_schedule, 'temperature') }}"
Actions
Available action: schedule.reload.
schedule.reload
schedule.reload action allows one to reload the schedule’s configuration without restarting Home Assistant itself.