Smart Irrigation - save water by precisely watering your lawn/garden

Hi,

I started using this integration some days ago. Currently, I have some trouble understanding the use/impact of the drainage rate.

For calculation, I use PyETO, 3 days forecast and data mostly from my Ecowitt weather station.

On a sunny day without rain I see some ET drainage from around -1 to -2 which appears to be OK for my region (Berlin, Germany).

But when I use the proposed/default drainage of 50.8 the bucket is reduces that heavy from the drainage that the EV drainage is almost unimportant.

So Iā€™m a little lost if how the drainage should be used and I hope somebody can help me here.

1 Like

I can confirm the situationā€¦ the drainage value seems to make the ET calculation obsolete. Need some advice on how to use it.

I remember two values as good start in this thread somewhere ā€¦ sandy or clay soil ā€¦ as I cannot find the corresponding entry ā€¦ does anyone can repeat the figures?

Thanks

Hi @reniko and @Monster_D !

According to my knowledge the soil water content is what important for grass. If excess water (like a heavy rain) occured that is where drainage comes into play. Over saturated soil will get the water drained at the rate of its specific drainage (good approx is 50 mm/h). So if you have rain (or irrigation) of 23 mm and the soil can keep approx 10 mm than the above 13 mm will get away in 13/50 hours (~15min). After this water drained away evaporation (ET) is responsible for lower rate of soil water loss influenced by the local weather conditions (wind speed, humidity, temperature). Grass is evaporating and the soil too so the overall rate is dependent on the ratio of plants covering your soil. That is a real complex calculation that has a lots of scientific papers on it.
TLDR: Drainage takes away excess water, evaporation use up the water stored in the soil.

I really donā€™t know how Smart Irrigation calculates with drainage. This should be explained by jeroenterheerdt.

Explanation of how drainage rate is used in the calculation is here. How it works | Smart Irrigation

Is looks like, however that the current advise of what value to use is wrong as it diminishes the impact of the et calculation. I need to investigate it, maybe there is a bug. For now, Iā€™d leave it empty or 0 and use it only when you have drainage issues.

Hi @jeroenterheerdt !

I might found another bug. I selected the option of current precipitation of Sensor Groups (0. Default Sensor Group - I have only one defined) and the entered entity name disappears on page refresh (Iā€™ve tried to tab out or click outside of the input box, too). Since than the zone irrigation times are not updated. Logs has the following:

2024-09-02 12:02:01.144 ERROR (Recorder) [homeassistant] Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/config/custom_components/smart_irrigation/__init__.py", line 841, in _async_update_all
    self.store.async_update_mapping(mapping_id, changes)
  File "/config/custom_components/smart_irrigation/store.py", line 690, in async_update_mapping
    old.data_last_entry = dict(old.data_last_entry)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: dictionary update sequence element #0 has length 9; 2 is required

Thank you for your support.
Zsolt.

Hey @jeroenterheerdt,

Iā€™ve read through the docs of your project and really like it and will definately go for it once my irrigation is installed.

I do not have an irrigation system (yet), but only a lawn mower. The issue I have now is, I only want to let it mow when the grass is dry and have no clue how to determine that. So I was wondering if maybe your logic could not only apply to irrigation but also for lawn mowers to only mow when the surface of the grass is dry, by somehow calculating participation and evaporation?

Would be interisting to have your thoughts on this. :slight_smile:

Hi there, that is an awesome idea! I am not sure how this would work, but I think you could set the throughput to zero to indicate you have no irrigation and then you could monitor the bucket to investigate if itā€™s dry. Although, any rain might not mean itā€™s dry and you could still see a negative bucketā€¦ Itā€™s tricky.

I think quite a bunch of your logic for irrigation could be used. Unfortunately my knowledge on amending or even developing an integration is besically zero, so I can only delivery my thoughts on this :slight_smile:

I think the precipitation would be made up from

  • Rain
  • Air Humidity (the tricky part here is to determine how much from the relative humidity sets down on the lawn in ml).

The buckt should be updated hourly as the value differences are expexted to be much higher than with soil.

I know it is trick, I am trying to find a solution how to dertermine if the lawn is wet or dry for some time now, but so far I have not been able to. This also involves quite some math, obviously a sensor would be easier, but also no success so far :smiley:

one thing you could potentially look at is a soil moisture sensor? those are hyper-localized, so maybe not ideal, but they would give you some idea of how wet your soil is. You put them not very deep youā€™d be measuring the moisture in the top part of your soil and I think with some experimentation over time you could come up with values of soil moisture that you consider ā€œdry grassā€. I donā€™t know, just thinking out loud here.

Yeah, Iā€™ve been trying with hooking one of these Rainsensor to an Aqara Water sensor to see if any moisture or rain accumulates on the gras surface. The issue here is that the Aqara sensor would be digged into earth which kills the Zigbee signal and the Rainsensor would need to lay on top (or close to) the surface of the grass and would get killed when the mower goes over it. I havenā€™t found a good Wifi solution that is battery powered (no wires around) to overcome the issue with the sending part of the sensor being slightly burried.

So it is not about knowing the soil moisture but the surface moisture. It could for example be the case that the soil is dry (no rain for days) but the surface is wet (morning dew).

Hence the approach with calculation.

I noticed that, a few updates ago, you changed the unit of measure for ā€˜current precipitationā€™ to mm/h. However, it seems you also updated the unit for ā€˜precipitation.ā€™ Since precipitation is a cumulative value, shouldnā€™t it be measured in mm rather than mm/h?

1 Like

that was not intentional. Iā€™ll fix it.

@jeroenterheerdt great work. I took your advice from the Github and adjusted the drain rate. This parameter didnā€™t work as I expected, but I have the system working. It appears to be functioning properly. I am watching with soil sensors to get a good baseline. Currently I am triggering off of bucket value less than -.7. All is well. I do have a question. Since Im in Florida I may not see rain here for a couple months I cant confirm this without messing up the system. Iā€™m assuming if it rains .3 during the day the next time the system revaluates for the day the value will adjust back to -.4 or something close. This is how understand it should work. Im running 18 zones so this is a fairly large project. I started out just trying to save a little water and electric. It looks like it is going to be a significant savings.

1 Like

Small note to improve the ā€œhow it worksā€ docs: The English translation from ā€œnettoā€ is ā€œnettā€, as in ā€œnett precipitationā€, says the Cambridge dictionary.
Also, it seems the link(s) to the examples is not functional.
Great work, this Smart Irrigation :+1:

Have you thought about using the dewpoint. Itā€™s perhaps not a waterproof method (pun intended), but it can give you a good approximation of when dew will form and your lawn wet. It is the temperature for a given humidity at which the air will be oversaturated and it will precipitate out. Forming mist and/ or dewdrops. I canā€™t properly explain it so I would definitely check out the formula/ calculations.

Hey, yeah. I tested a few ā€œtheoreticalā€ methods but surprisingly all of them have failed in more than 80% of the days.
Also tried with a water leak sensor but that hat too many contacts (grass) closing the circuit and leading to false positives.

Hello everyone,
Would it be possible to adjust the throughput value via an automation?

Iā€™m building an irrigation control unit using an ESP32 with ESPHome and a flow sensor. Iā€™ve created a sensor that tracks the average flow rate during irrigation. Iā€™d like to set up an automation that updates the throughput value for the respective zone based on this average, effectively fine-tuning the system for the next activation.

Would this be achievable?