Scheduler customizable

Hi, i’m now on ha and i’m considering to automate my home with ha. I need, in addition to classical features, a scheduler for program heating/cooling or any kind of things from UI. I’m looking for something like that, where i can add new entry, remove, modify scheduling time or day.

Where i can found help, how to o starting point to my problem?
thank you

1 Like

There is no component to do this. You will have to set up your own. Here are some links to components you could use:

Using basic elements like this you can create groups like this:

Here are my automations for this timed thermostat.

- id: lounge_aircon_manual
  alias: 'Lounge Room Aircon'
  hide_entity: True
  trigger:
    platform: state
    entity_id: input_select.lounge_ac_mode
  action:
  - service_template: >
      {% if is_state('input_select.lounge_ac_mode', 'Powerful Heat') %} shell_command.lounge_ac_powerful_heat
      {% elif is_state('input_select.lounge_ac_mode', 'Normal Heat') %} shell_command.lounge_ac_normal_heat
      {% elif is_state('input_select.lounge_ac_mode', 'Silent Heat') %} shell_command.lounge_ac_silent_heat
      {% elif is_state('input_select.lounge_ac_mode', 'Powerful Cool') %} shell_command.lounge_ac_powerful_cool
      {% elif is_state('input_select.lounge_ac_mode', 'Normal Cool') %} shell_command.lounge_ac_normal_cool
      {% elif is_state('input_select.lounge_ac_mode', 'Silent Cool') %} shell_command.lounge_ac_silent_cool
      {% elif is_state('input_select.lounge_ac_mode', 'Dry') %} shell_command.lounge_ac_dry
      {% elif is_state('input_select.lounge_ac_mode', 'Off') %} shell_command.lounge_ac_off
      {% endif %}

- id: lounge_aircon_auto_am_on
  alias: 'Lounge Room Aircon Scheduled AM On'
  trigger:
    platform: template
    value_template: "{{ states('sensor.time') == (states.input_datetime.lounge_ac_am_on_time.state[0:5]) }}"
  condition:
    condition: and
    conditions:
      - condition: state
        entity_id: input_boolean.lounge_ac_am_automation # If automation is required and ...
        state: 'on'
      - condition: or
        conditions:
          - condition: state
            entity_id: input_boolean.lounge_ac_workday # If workday is not tested or is a workday
            state: 'off'
          - condition: state
            entity_id: binary_sensor.workday_sensor
            state: 'on'
  action:
  - service: input_select.select_option
    data_template:
      entity_id: input_select.lounge_ac_mode
      option: >
        {% if states.sensor.stats_roomt_mean.state < states.input_number.lounge_ac_heat_temp_set.state  %}
          Normal Heat
        {% elif states.sensor.stats_roomt_mean.state > states.input_number.lounge_ac_cool_temp_set.state  %}
          Normal Cool
        {% else %}
          'Off'
        {% endif %}

- id: lounge_aircon_auto_pm_on
  alias: 'Lounge Room Aircon Scheduled PM On'
  trigger:
    platform: template
    value_template: "{{ states('sensor.time') == (states.input_datetime.lounge_ac_pm_on_time.state[0:5]) }}"
  condition:
    condition: and
    conditions:
      - condition: state
        entity_id: input_boolean.lounge_ac_pm_automation # If automation is required and ...
        state: 'on'
      - condition: or
        conditions:
          - condition: state
            entity_id: input_boolean.lounge_ac_workday # If workday is not tested or is a workday
            state: 'off'
          - condition: state
            entity_id: binary_sensor.workday_sensor
            state: 'on'
  action:
  - service: input_select.select_option
    data_template:
      entity_id: input_select.lounge_ac_mode
      option: >
        {% if states.sensor.stats_roomt_mean.state < states.input_number.lounge_ac_heat_temp_set.state  %}
          Normal Heat
        {% elif states.sensor.stats_roomt_mean.state > states.input_number.lounge_ac_cool_temp_set.state  %}
          Normal Cool
        {% else %}
          'Off'
        {% endif %}

- id: lounge_aircon_auto_am_off
  alias: 'Lounge Room Aircon Scheduled AM Off'
  trigger:
    platform: template
    value_template: "{{ states('sensor.time') == (states.input_datetime.lounge_ac_am_off_time.state[0:5]) }}"
  condition:
    condition: and
    conditions:
      - condition: state
        entity_id: input_boolean.lounge_ac_am_automation # If automation is required and ...
        state: 'on'
      - condition: or
        conditions:
          - condition: state
            entity_id: input_boolean.lounge_ac_workday # If workday is not tested or is a workday
            state: 'off'
          - condition: state
            entity_id: binary_sensor.workday_sensor
            state: 'on'
  action:
  - service: input_select.select_option
    data_template:
      entity_id: input_select.lounge_ac_mode
      option: 'Off'

- id: lounge_aircon_auto_pm_off
  alias: 'Lounge Room Aircon Scheduled PM Off'
  trigger:
    platform: template
    value_template: "{{ states('sensor.time') == (states.input_datetime.lounge_ac_pm_off_time.state[0:5]) }}"
  condition:
    condition: and
    conditions:
      - condition: state
        entity_id: input_boolean.lounge_ac_pm_automation # If automation is required and ...
        state: 'on'
      - condition: or
        conditions:
          - condition: state
            entity_id: input_boolean.lounge_ac_workday # If workday not tested or if workday
            state: 'off'
          - condition: state
            entity_id: binary_sensor.workday_sensor
            state: 'on'
  action:
  - service: input_select.select_option
    data_template:
      entity_id: input_select.lounge_ac_mode
      option: 'Off'
1 Like