Watering valve timers

Hello I have 5 ZigBee watering valves these are currently being controlled by Tuya and the work well enough but I would like to control them with home assistant without the internet.
Home assistant finds the valves ok but control is limited to on or off I would like to be able to set up watering schedules as you can within the Tuya app but I cant see how to achieve this easily.
Is there a way of dong this or will apart from setting up lots of separate automations.
Typically these will run for 3 times and all at different times as we live in a low water pressure area, the run duration will also change as the weather changes as well as the water requirement of the plants
I have attached a photo of the Tuya timing set up

Thanks in advance Chris

Schedule - Home Assistant

Hello thank you for your reply I have spent several hours trying to make this work with very little success.
Basically what I would like to do is have the ability to be able to turn on selected devices for a short duration at various times a day, this needs easily changed when required.
Best regards Chris

Yes.
That is what you can do with a schedule.
As it says in the documentations the schedule will be on when inside a time period and off when outside.

Like you, I found trying to use HA to control my valves was going to be a monumental task. I use Sustainable Irrigation Platform (SIP) as a front end (user interface or UI). This program sends a JASON to an MQTT broker. The JSON is a table of 0 and, if turning on a valve, one 1. HA will receive that JSON and I wrote (with help here in HA land) an automation to decode the JSON and send a command to my controller to turn on/off valves as appropriate.

I find SIP to be a very good user interface. The only downside I have encountered is that it takes 5 to 10 seconds for the valve to open when manually commanded from the SIP webpage. This is because HA has to sort through the JSON and I have 17 (potentially 25) zones.

Let us know the solution you end up using!

technical details

Sip will be running outside of HA (on another computer?). My implementation is

In my *configuration.yaml" I have:
mqtt: !include mqtt.yaml
I created the file mqtt.yaml which is

sensor:
- name: SIP
  state_topic: SIP/zones
  availability:
    - topic: "SIP"
      payload_available: "\"UP\""
      payload_not_available: "\"DOWN\""
  value_template: "{{ value_json.zone_list }}"

My SIPcontrol automation is:

alias: SIPcontrol
triggers:
  - topic: SIP/zones
    trigger: mqtt
conditions: []
actions:
# if the input_number helper ZoneToWaterNumber is set to zero, all valves will be turned off 
  - action: input_number.set_value
    metadata: {}
    data:
      value: "0"
    target:
      entity_id: input_number.zonetowaternumber
  - delay: "00:00:02"
# look for a 1 in JSON table
  - repeat:
      count: "25"
      sequence:
        - if:
            - condition: template
              value_template: "{{ (states('sensor.sip')|from_json)[ repeat.index - 1] == 1 }}"
          then:
            - data:
                value: "{{ repeat.index }}"
              target:
                entity_id: input_number.zonetowaternumber
              action: input_number.set_value
            - delay: "00:00:02"
  - if:
      - condition: template
        value_template: "{{ states('input_number.zonetowaternumber')|int == 0 }}"
    then:
# turn off a valve
    else:
# turn on a valve
mode: single