You could use a weather integration and if it rains you set an input switch to true.
your automation check whether this input switch is true. if not irrigation starts. if so it only resets the input switch.
You could also use a rain gauge and calculate the difference between the pericipation precipitation or simply rainfall of the day and the amount you want to irrigate.
I have the latter running, but it involves some math and database analysis…
Yearh
I choose to use the accuweather sensor if its raining and then disable the irrigation if its raining for more than 1 hour before it need to irrigate.
You need to call the reset_bucket service after you irrigate. I have worked with Smart Irrigation with my own component. Many options available to suit your situation.