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

that would work.

So I installed VIA HACS, but I do not show when I go to HA>Config>integrations> ā€œSmart Irrigationā€ This seems sweet if i can figure it out

Refresh the integrations page, then try adding it again.

Got it now. Thanks!

1 Like

So If i create second smart irrigation instance using HA integration for a different zone. How do I offset zones, or run 1 then the next. Kind of unclear to me.

create an automation like whatā€™s listed on this page: Automation examples Ā· jeroenterheerdt/HAsmartirrigation Wiki Ā· GitHub

Just adjust the start time?

well, you can have a delay in between, but for example this will run the two valves sequentially, one after the other:

- alias: Smart Irrigation
  description: 'Start Smart Irrigation at 04:00 when the workday sensor is on and run it only if the adjusted_run_time is >0 and run it for precisely that many seconds'
  trigger:
  - at: 04:00
    platform: time
  condition:
    condition: and
    conditions:
    - condition: state
      entity_id: 'binary_sensor.workday_sensor'
      state: 'on'
    - above: '0'
      condition: numeric_state
      entity_id: sensor.smart_irrigation_daily_adjusted_run_time
  action:
  - data: {}
    entity_id: switch.irrigation_tap1
    service: switch.turn_on
  - delay:
      seconds: '{{states("sensor.smart_irrigation_daily_adjusted_run_time")}}'
  - data: {}
    entity_id: switch.irrigation_tap1
    service: switch.turn_off
  - data: {}
    entity_id: switch.irrigation_tap2
    service: switch.turn_on
  - delay:
      seconds: '{{states("sensor.smart_irrigation_daily_adjusted_run_time")}}'
  - data: {}
    entity_id: switch.irrigation_tap2
    service: switch.turn_off
  - data: {}
    service: smart_irrigation.reset_bucket
1 Like

Thank you!! That makes sense

Trying to wrap my head around all this. So the index is max needed if no rain and high evap.

sensor.smart_irrigation_hourly_adjusted_run_time

is not used for anything? Just hourly idea? or it goes up and down as evap/rain happens and this will be value transferred to Daily?

sensor.smart_irrigation_daily_adjusted_run_time

Is Actual run time of the sprinkler? Which wont exceed the index?

you use DART, and HART is transferred into DART. Index is just a index for no rain/snow and max evapotranspiration of the soil and is used to calculate HART/DART. Normally DART/HART should never exceed Index

1 Like

Thanks for a great integration!

A little feedback: Just figured out how to run the config flow. It just wasnā€™t obvious from a new user perspective that I needed to go to Config->Devices and Services->Integrations and hit the +button to add the the integration. The docs did a good job up to the point of installing it via HACS, but the step by step skipped over this piece.

Looking forward to seeing the estimates for my location.

Hey.

Thanks for a very interesting integration.

I have few Rainbird sprinklers with Rainbirdā€™s LNK Wifi module.
I saw you mentioning using Rainbird as well.

Rainbird has its own algorithm which supposedly uses weather forecast, seasonal adjustment, etc to calculate how long should the sprinklers run.

Did you have a chance to compare the two?
Was Rainbird really bad?

This is going to be a new setup for me and Iā€™m wondering if there are significant benefits of choosing this integration over built-in Rainbird.

Great work, looks super impressive.

P.s. Iā€™ve actually started working on an automated mechanism allowing to fetch actual daily evapotranspiration data from LSA SAF based on satellite images. Iā€™ll update when I have something working.

I donā€™t own a Rainbird product, so havenā€™t compared them. But would love for you to do this and see the difference. You can just have Rainbird control the sprinklers for now and run my component to see what that would have done. Potentially you can get more specific and better results with my component as it has the potential of taking super-local info (like your weatherstation) so it actually does exactly what your grass needs.
Also, I am not sure Rainbird takes into account all things that go into ET, but of course I donā€™t know the formula they are using. Would love to learn more about the LSA SAF stuff!

I am new to your Smart Irrigation. I have been studying evapotranspiration for a while. You use the hourly data to integrate the Eto and precipitation across the entire day. That gives you a water deficit/'excess in inches. How do you convert that height of water into an irrigation run time? The typical process incorporates a crop coefficient, an application efficiency, and a sprinkler rate in in/hr. It appears as if you are using the area and flow rate to get the sprinkler rate. Are you using a crop coefficient and application efficiency? If you arenā€™t, I need to adjust your daily irrigation duration accordingly.

I am not using a crop coefficient and application efficiency as for grass lawns that doesnā€™t matter too much (and also itā€™s rather complicated to calculate those).

Thank you. That was helpful. It means that i can assume that you are using 1.0 for both the crop coefficient and application efficiency. You might want to add this fact to your documentation. There are many who have estimated these values based on observable information.

thanks for sharing. Out of curiosity, where can I find the crop coefficients / application efficiency values and how would they be added to the formula? I am thinking I could add this as optional and just have them default to 1

The standard equation is T = 60 ETo Kc / Pr / Ae, where T is the watering time (minutes), ETo is the net evapotranspiration (inches), Kc the the crop coefficient (unitless), Pr is the precipitation rate (sprinkler output in inches/hour), and Ae is the application efficiency (unitless).

The best way to determine Pr is to place a large number of cups randomly across the yard and turn the water on for 15 to 20 minutes. You then measure the mean water height in the cups and divide by the time. My sprinklers put out between 2 and 4 inches/hour. I have 11 zones with a wide variety of sprinkler/bubbler types.

There is lot of information on the web for crop coefficients. For warm weather grass the standard value is 0.65. For my roses and grape vines I use a value of 0.5. I use a value of 0.85 for my garden. These are values recommended by Rachio.

Ae is a bit more subjective and it relates to the ability of your watering system to provide an even distribution where you want it. Standard values are 0.8 for a level lawn with good distribution with little waste. When the lawn has a 10-15% slope, that value is reduced to 0.7 due to runoff. Using the cups to determine the Pr can also give you information on Ae. Ae would then be approximately (m - sigma)/m where m is the mean water height and the sigma is its standard deviation. You can then tweek Ae if you find your lawn/gargen not getting enough water or suspect that it is getting too much.

I have this set up and it seems to be working well. I love the way you built it to allow maximum flexibility. My only issue is that it seems like the weather data Iā€™m getting from openweathermap.com is inaccurate. For example, as of 3:00pm today itā€™s showing 0.26 inches of rain and a netto_precipitation of 0.09. But, it hasnā€™t rained for at least two days.

I looked at both creating the API and adding the integration and I donā€™t see where I tell it where Iā€™m located so it grabs the correct weather information. Can you tell me how the integration knows where I am and therefore what weather info to pull?