Scheduler card/custom component

Oh my, that’s the way that’s done. Would be nice if this was called out in the documentation or examples more. Why not just allow any entity to be selected as a condition instead of having to read in the classes. I have 500 binary sensors - I sure don’t want a list of these to pick up when I can just type in the name.

Thanks so much for the help!

Hi,

I’m using the scheduler component to schedule my heater. I have many schedules including climate entities. I’d like to change the naming of my climate entities and I’m looking for a way to easily edit my schedules without having to recreate them from scratch.
The update service does not allow to change the entities and renaming the entities in .storage/scheduler.storage does not work, the file is recreated after reboot.
Any idea how I can do this?
Thanks a lot.

This looks really cool,
I 'm checking out if this can replace my current heating schedule,
but there is one thing I cannot find.
My heater is turned on from thursday till sunday, from 6 to 20.
But sometimes I’m on vacation and I want to cancel the schedule for this period.
at the moment I cancelled the heating for my vacation over 3 weeks already.
is this also possible with this one? of can I do this only 7 days in advance?

Have you read the documentation of the integration and the card?

@Cadster
I think conditions won’t work for me.
at the moment I’m using a Calendar
where the summary should be an integer or decimal to have the temp set for the livingroom heating.


I like the interface of this integration way better, and it’s more user friendly.
but now I can use a recurring event and edit/delete a single occurrence which I use often. and plan sometimes weeks in advance.
I think this would not be possible using a condition, using a condition would be able to modify something for the next event as I have to set something to on/off and don’t forget about it.

You can still use calendar to schedule holidays and use this as a condition, and use the time and temp setting in scheduler. But because it’s not a fixed system there are many ways to achieve your goal.
Do wat is best for you.

1 Like

that’s true,
I will think about how I can implement my usecase nicely. thnx

@tom10 @fresnoboy
Hello.
I’m facing the same problem, when I want to create a new schedule, I can only choose Climate (no Lights or Roller shutter) but for now, it’s not important as I want to use Climate.

But when I want to add conditions based on Calendar or Binary sensor, there are not available :

image

But few weeks ago, I was able to create schedules based on this conditions :

image

Didn’t understand your answer, Tom10

Anyone can help me ?

Thanks

EDIT : Got it !!

You have to edit the card in the dashboard :

image

and enable the groups needed :

Hi, sorry for not reading the entire 1928 post thread (I admit it :sweat_smile: ), I searched, but maybe I am not searching for the correct terms.

Before diving into this component, I need to ask if it has the following feature: ability to offset (or shift) and entire schedule based on a dynamic condition.

To explain: suppose I have a schedule that executes daily with 3 or 4 time periods. But occasionally I would like to be able to “flick a switch” and say “do everything 45 minutes later”, without having to change the schedules or create new ones.

Is that possible? I read that there are offsets (like sunset event + 1 hour) but what about these “dynamic” offsets?

Thanks!

Hi, I’m trying to configure a customized scheduler-card panel.
The code is:

type: custom:scheduler-card
include:
  - script.test_eroga_cibo
exclude: []
tags:
  - gatto
show_header_toggle: false
title: Erogazioni di cibo programmate
discover_existing: false
sort_by:
  - state
  - title
display_options:
  primary_info: default
  secondary_info:
    - time
    - days
  icon: action
customize:
  script.test_eroga_cibo:
    icon: mdi:shaker
    exclude_actions:
      - accendi
      - esegui
      - spegni
    actions:
      - service: script.turn_on
        name: Eroga {porzioni_field}
        variables:
          porzioni_field:
            name: dose - 1 porzione = 5g
            unit: ' porzione/i'
            min: 1
            max: 10
            step: 1
        icon: mdi:shaker
time_step: 1

the script.test_eroga_cibo is:

alias: "[Gatto] Eroga cibo"
use_blueprint:
  path: lorenzo/eroga_cibo.yaml
  input:
    pulsante: button.mmgg_fi1_1ffd_pet_food_out
icon: mdi:shaker

and eroga_cibo.yaml is:

blueprint:
  name: Erogazione cibo
  description: >-
    Gestione erogazione di cibo
  domain: script
  input:
    pulsante:
      name: Pulsante da premere
      description: Pulsante associato all'erogazione di una porzione di cibo
      selector:
        entity:
          filter:
            domain: button
fields:
  porzioni_field:
    name: "Porzioni"
    description: "Numero di porzioni da erogare"
    default: 1
    selector:
      number:
        min: 1
        max: 10
        step: 1
        unit_of_measurement: porzioni
mode: queued
max: 10
sequence:
  - variables:
      porzioni: "{{ porzioni_field }}"
  - if:
      - condition: template
        value_template: "{{ porzioni is defined and porzioni > 0 }}"
    then:
      - repeat:
          sequence:
            - service: button.press
              data: {}
              target:
                entity_id: !input pulsante
            - service: notify.lorenzo
              data:
                message: msg
            - delay:
                hours: 0
                minutes: 0
                seconds: 5
                milliseconds: 0
          count: "{{ porzioni|int }}"

when the scheduler executes i got:

Logger: homeassistant.util.logging
Source: util/logging.py:101
First occurred: 14:59:00 (1 occurrences)
Last logged: 14:59:00

Exception in async_timer_finished when dispatching 'scheduler_timer_finished': ('85103e',) Traceback (most recent call last): File "/config/custom_components/scheduler/switch.py", line 275, in async_timer_finished await self._action_handler.async_queue_actions( File "/config/custom_components/scheduler/actions.py", line 261, in async_queue_actions await queue.async_start() File "/config/custom_components/scheduler/actions.py", line 383, in async_start await self.async_process_queue() File "/config/custom_components/scheduler/actions.py", line 525, in async_process_queue await async_call_from_config( File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 283, in async_call_from_config await hass.services.async_call(**params, blocking=blocking, context=context) File "/usr/src/homeassistant/homeassistant/core.py", line 2001, in async_call processed_data: dict[str, Any] = handler.schema(service_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 272, in __call__ return self._compiled([], data) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/validators.py", line 229, in _run return self._exec(self._compiled, value, path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/validators.py", line 355, in _exec raise e if self.msg is None else AllInvalid(self.msg, path=path) File "/usr/local/lib/python3.11/site-packages/voluptuous/validators.py", line 353, in _exec v = func(path, v) ^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable return schema(data) ^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 272, in __call__ return self._compiled([], data) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 595, in validate_dict return base_validate(path, iteritems(data), out) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/voluptuous/schema_builder.py", line 433, in validate_mapping raise er.MultipleInvalid(errors) voluptuous.error.MultipleInvalid: extra keys not allowed @ data['porzioni_field']

how should I solve?

thanks

Hey,
it is possible to set a variable for heating? Maybe I can define some heating modi?

Background is, that I have for each heating two states defined. Lets say from 8-9am 28°C and from 9am-6pm 22°C. And depending on the outside temperature, maybe from 8-9am is 24°C enough, so I have to change all my defined schedules.
If I could define $HEATHIGH $HEATLOW, I only need to change two variables.

It is somehow possible?

Thanks Micha

1 Like

I would also love this feature!

This can be done with scripts. Define two scripts and two schedules. Create helpers, say, input number high and input number low and then you include this in scripts. Then you only change these two variables and run either one of schedules (hugh or low) - wpthis schedule then only runs appropriate script.
I have set up heating/cooling this way: morning heating workday, morning heating weekend, evening heating, day colling, evening cooling… in each script i have helper where i set temperature, start climate, set heating/cooling and start timer (how long heating/cooling runs).
When timer ends i have automation which senses that and turns climate off.

I’ve just discovered this amazing card today - trying to move away from Tuya’s native app and configure a way for my family to create / change schedules for switches without them having to get into the nuts and bolts of HA, and this works a treat, thank you!

The only thing I can’t currently work out how to do is set a timer (ie: my wife puts on the switch that the slow cooker is plugged into, and wants it to automatically turn off after (eg) 2 hours. Is something like that possible via the scheduler card (or could it be?)?

Hey guys, I have setup a custom schedule to arm and disarm the alarm, however I am finding that the arm part of the schedule works fine however the alarm does not disarm at the specified time.

Am I missing something?

Thanks

Hey,


sorry Pavel, I don’t understand how do you do it. Were can I run a script in scheduler card?
Can you please explain it further, maybe with a example from you?

Create helpers is clear, but the rest I don’t understand. I have attach two pictures to my post for illustration.

If I can get var1 and var 2 with input helpers, it would be great. I also have thought about a script which can take the outside temp from a sensor and with the inside goal temperature, creates the var2 high.

Maybe something if outside temp < 5°C set input helper var2 to 33°C
or if outside is 12°C, set input helper var2 to 23°C

Hopefully it is clear what I want to say :slight_smile:

Micha

Micha

First create a script, of course… :wink: In this script you can have helpers, where you’ll be changing desired parameters, but script will stay the same and schedule will just run it. Basically, you do everything in a script, schedule is only for determine WHEN this script will run (and under which conditions, possibly).

Then, when you add a new schedule card on your lovelace enable “scripts” in “included entities” (you can select all of them or just the one you want). Make all needed other settings in a second tab and save card. Then click “add” on this newly created card to add a schedule, select your script and choose “run” as action. Make other settings (time, condition…)and you’re pretty much done.

In short, the point is that you don’t choose an entity when you create a new schedule but a script, that’s all. But, as said, to be able to choose it in a schedule you must “enable” in when you create a scheduler card.

Hi,
i use the scheduler Card Custom,
i would like use tweo or tI would like to use 3 different schedulers for the same or different lamps in one section, e.g. kitchen.
I added two SchedulerCards to the kitchen section.

If I now change the time frame in the “Zeitplaner” card, for example from February 1st, 2024 to March 15th, 2024, the second scheduler card “1 - 2/3 Woche Blüte” will also be automatically changed.

Code 1-2/3 Woche Blüte:

type: custom:scheduler-card
include:
  - light.led_4000k_p1
  - light.led_4000k_p2
  - light.led_660nm_p1
  - light.led_660nm_p2
  - light.led_farred_730nm
  - light.led_panel_1_3000k_1000hz
  - light.led_panel_2_3000k_1000hz
  - sensor.led_lichtstarke_in_lux_am_kronendach
  - sensor.led_lichtstarkein_lux_mitte_der_pflanze
  - sensor.led_panel_temperatur
  - switch.led_panel_1_3000k_gpio33
  - switch.led_panel_2_3000k_gpio34
exclude: []
title: 1 - 2/3 Woche Blüte
display_options:
  primary_info: default
  secondary_info:
    - relative-time
    - time
  icon: action
sort_by:
  - state
  - relative-time
time_step: 1
discover_existing: false
show_header_toggle: true

Code Zeitplaner:

type: custom:scheduler-card
include:
  - light.led_4000k_p1
  - light.led_4000k_p2
  - light.led_660nm_p1
  - light.led_660nm_p2
  - light.led_farred_730nm
  - light.led_panel_1_3000k_1000hz
  - light.led_panel_2_3000k_1000hz
  - sensor.led_lichtstarke_in_lux_am_kronendach
  - sensor.led_lichtstarkein_lux_mitte_der_pflanze
  - sensor.led_panel_temperatur
  - switch.led_panel_1_3000k_gpio33
  - switch.led_panel_2_3000k_gpio34
exclude: []
title: Zeitplaner
display_options:
  primary_info: default
  secondary_info:
    - relative-time
    - days
    - time
    - additional-tasks
  icon: action
sort_by:
  - state
  - relative-time
time_step: 1
discover_existing: false
show_header_toggle: true

What do I have to include in the code to prevent this?

Best regards
Achim

edit:
is the way to get this … groups & domains?
gives there any good sample

edit 2:
sorry all, was a stupid question… i clear this Problem because i can add all situation in one Scheduler

Sorry for one question more

If I want to let an LED rise up from 0-100% over several hours and after, for example, 5 hours, have it fall again from 100 to 0% in 10 minutes, i can create that also do this in the scheduler, e.g. in the yaml code…with any script?
If so, is there any similar example?

Hi guys,
I want to create a schedule for my AC units. I want to run a schedule when someone is home, but I want them to be completely off when nobody is home. Can someone explain me how to do this with the conditions? Do I need to create multiple schedules; one for when I’m at home and one for when I’m not at home. Do I turn off the “home” schedule and turn on the “not home” schedule when I leave my house?
Thanks for the help!