Template Datetime

The template datetime platform allows you to create a datetime with templated values using lambdas.

datetime:
  # Example Date
  - platform: template
    id: my_datetime_date
    type: date
    name: Pick a Date
    optimistic: yes
    initial_value: "2024-01-30"
    restore_value: true

  # Example Time
  - platform: template
    id: my_datetime_time
    type: time
    name: Pick a Time
    optimistic: yes
    initial_value: "12:34:56"
    restore_value: true

  # Example DateTime
  - platform: template
    id: my_datetime
    type: datetime
    name: Pick a DateTime
    optimistic: yes
    initial_value: "2024-12-31 12:34:56"
    restore_value: true

Configuration variables:

  • type (Required, enum): The type of the datetime. Can be one of date or time.

  • lambda (Optional, lambda): Lambda to be evaluated every update interval to get the current value of the datetime.

  • set_action (Optional, Action): The action that should be performed when the remote (like Home Assistant’s frontend) requests to set the dateime value. The new value is available to lambdas in the x variable.

  • update_interval (Optional, Time): The interval on which to update the datetime by executing the lambda. Defaults to 60s.

  • optimistic (Optional, boolean): Whether to operate in optimistic mode - when in this mode, any command sent to the template datetime will immediately update the reported state. Cannot be used with lambda. Defaults to false.

  • restore_value (Optional, boolean): Saves and loads the state to RTC/Flash. Cannot be used with lambda. Defaults to false.

  • initial_value (Optional, string): The value to set the state to on setup if not restored with restore_value. Can be one of:

    • For type: date:

      • A string in the format %Y-%m-%d , eg: "2023-12-04".

      • An object including year, month, day.

      initial_value:
        year: 2023
        month: 12
        day: 4
      
    • For type: time:

      • A string in the format %H:%M:%S , eg: "12:34:56".

      • An object including hour, minute, second.

      initial_value:
        hour: 12
        minute: 34
        second: 56
      
    • For type: datetime:

      • A string in the format %Y-%m-%d %H:%M:%S , eg: "2023-12-04 12:34:56".

      • An object including year, month, day, hour, minute, second.

      initial_value:
        year: 2023
        month: 12
        day: 4
        hour: 12
        minute: 34
        second: 56
      
  • All other options from Datetime.

See Also