Since a notification just popped up for me on this topic, I can say I just finished my DIY irrigation replacement.
I used the ESPHome docs as my starting point. This is a self-contained device that can run (almost completely) standalone. I just need a physical button to be able to trigger a full cycle, but my cycle’s automated from HA (the schedule for the starting time and watering days is on the HA side). I can trigger individual zones with physical buttons though. Good enough for me.
There’s also ESPHome: DIY Irrigation Controller With Internal Scheduler - Share your Projects! - Home Assistant Community.