Sequence based on date/time helpers

I am trying to set up a litlte interface to be able to start irrigation sequence. Idea is that I have 7 zones and I created slider for each zone to represent how long would I like to run it.
Instead of using waits in automation, my idea was to use date/time helper for each zone for on/off and when starting a script, that would be populated for each on/off helper.

For instance, I am able to set date/time helper based on “now” + set time or value from slider, but I can’t figure out how to add time from slider to a different date/time helper

service: input_datetime.set_datetime
  entity_id: input_datetime.master_bathroom_radiator_off_time
  datetime: "{{ (now() + timedelta(minutes = (states ('input_number.z_zahony_slider')|float) )).timestamp() | timestamp_local  }}"

I still need to figure out what to do when zone is set to 0, but I assume I will figure it out either in script or actual automation.
In addition, I would like to round the start of 1st zone to next minute. Is there a way to achieve it?
Lastly, I created 7 sliders with precision “1”, yet in GUI, it is still displayed as 1,0 min


Is there a way to make it just “1 min” ?


Remove this

Both now and timedelta uses objects. When you add timestamp you are converting it to a integer which datetime: does not accept.
The issue is not the above. It’s that the timezone is added at the end. Below template will both remove the timestamp and truncate to a minute

{{ (now() + timedelta(minutes = (states ('input_number.z_zahony_slider')|float) )).replace(second=0, microsecond=0).strftime("%Y-%m-%d %H:%M:%S")  }}

I believe that should work.

Thanks for the response.I am sure I am doing something stupid and solution is simple.
Here is example of 2 values:

{{ states ('input_datetime.z_juh_on') }}
{{ states ('input_number.z_zahony_slider') }}


2022-08-14 00:00:00

I am trying to add 30 minues to date time helper using this formula:

{{ states ('input_datetime.z_juh_on') + timedelta(minutes = (states ('input_number.z_zahony_slider')|float)) }}

But the error I get is for intance:

TypeError: can only concatenate str (not "datetime.timedelta") to str

Any help would be appreciated

is a string.
You need to make it an object.

{{ strptime(states ('input_datetime.z_juh_on'), "%Y-%m-%d %H:%M:%S", None) + timedelta(minutes = (states ('input_number.z_zahony_slider')|float)) }}

Thanks @Hellis81, as you were typing, I found the same in other thread. Appreciate the help.
Would you happen to know how can I make sliders in GUI be displayed as integers, without decimals?

Nope. That is not something I know.
I believe it needs something custom but I have never bothered to learn how to do it.

Another way to convert a datetime string into a datetime object is by using as_datetime.

{{ states('input_datetime.z_juh_on') | as_datetime + timedelta(minutes = states('input_number.z_zahony_slider') | float(0) }}

The limitation is that the supplied datetime string must be in a recognizable datetime format otherwise strptime is needed because it’s more flexible. In this case 2022-08-14 00:00:00 is a recognizable format.