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

I found another strange thing from last night - out of curiosity I went ahead and triggered a manual calculation around 9:16PM for all the zones. If I am not mistaken this prunes all previous weather data, which is as per expected.

Screenshot

At this point the bucket size went “up” to -9.79 (went into negative), which would indicate that according to the system the zone needed 9.79mm watering. All fine until this point, this is as per expectations.

Screenshot

Then from 9:27PM we had a storm and precipitation went up to 9.3mm until 9:46PM. Mind you, this is after I triggered the manual calculation of the zone - at this point I was expecting the bucket to “fill” significantly, but the automatic calculation, which runs at 11:55PM every night only decreased the watering time by a minute roughly.

Screenshot

Given the parameters of the zone, I just don’t get how the setup arrives to this conclusion - I understand that due to the ET calculation the bucket size does not exactly deduct the measured precipitation as is, but I would still expect that a nearly 10mm rainfall would have a significant impact on the bucket size, especially if it takes place at nigh when ET is minimized and when it takes place so close to the daily calculation/reset. But let’s say the ET calculation does not take the time factor into account (ie. when did the rainfall occur) and assumes that it took place during the hottest period of the day (or maybe it just does a calculation for the whole day not taking specific time points into account at all). For reference, I would have to run my zone for about 40 minutes to get the equivalent water output of 10mm rainfall.

The nozzles are calibrated to put out 17mm/h according to the manufacturer if arranged in a square shape with head-to-head coverage - I configured my zones according to this

This is the full zone configuration:

I could make a completely unrealistic argument that nearly all of the 9.3mm rainfall was all factored into the ET calculation and therefore the integration considered that the majority of it evaporated - so this tells me that the integration “thinks” that nearly 10mm of water evaporates on a hot day with my setup. At this point this is then considered a loss as green vegetation cannot utilize this water.

So running with the above logic and taking that standpoint as the baseline, I don’t understand then why my daily watering time only increases by ca. 20 minutes, which is a rough equivalent of putting out 5-6mm of water. Weather conditions were basically the same the past few weeks, we had 0mm rainfall until last night’s storm and temperatures up in the upper-mid 30’s.

Zone watering time history

You see my dilemma? Either 9mm of water is considered to be “system loss” due to it completely evaporating as per the ET calculation in which case the daily watering time should exceed this significantly (whereas the calculation only accounts for half of it on a daily basis - check the history graph of the watering time), or 9mm is in fact considered to be a valid “water output” where most of it does not evaporate, in which case I don’t get why last night’s 9.3mm rain did not impact the calculation basically at all.

I apologize for raising so may questions, my intention is not to be problematic, I just want to understand clearly how the integration works, so I can set my expectations and decide where/how I can rely on it.

The panel UI gives you all the details. Just press the info button… Also there is no warranty as clearly stated in the readme. This is a labor of love not a commercial endavour.

1 Like

Rainfall is not equal to bucket change. That is simply not how it works. Since the weatherdata was deleted after your first manual try the only data it had in the automatic calc was two data points (for each hour that passed) so of course that is going to be skewed as it tries to extrapolate to 24 hours and then back.
Read up on pyeto to understand the details, if you want, but rainfall is just an ingredient to et and therefore bucket change not directly taken into account. That is simply not how it works.

I was traveling the last days. Had a look today and the bucket stayed at zero all the days. So, it seems it is still not working correctly. I just updated to the latest version and will get back in a couple of days, when I know more.

Is there a way to fine-tune the bucket calculation? We have had a lot of rain lately but have gone a week or more without. My bucket is still at 0.43 and will likely take 2 more days to drop to 0. But my grass is browning and needs water. This is the 2nd time this year that I feel like the grass needs water but the bucket is still above 0. Is there a way to fine-tune the calculation with something like a multiplier?

You can try using the multiplier setting maybe?

I thought the multiplier would just adjust the runtime of a zone more or less than the calculated time.

i dont see an info button

Oh, sorry, yes you are right of course. Not sure what you can do here other than tweak or check your size and throughput settings?

Manually calculate a zone, it should show up

The bucket didn’t automatically update. Still at zero. I did a manual calculation right now and it is now at -1.6mm. So, it seems that the calculation isn’t triggered at 23:00 as set up. I deactivated the calculation and reenabled it. Let’s what happens today at 23:00.

I guess the same thing happened to me - 2 of my zones did not add anything from yesterday to today and the 3rd zone’s watering time slightly decreased.
We did have 0.9mm rain last night, but otherwise weather conditions were the same. Oddly enough the watering time decreased more by this 0.9mm rain than the other day with 9.3mm…

This was with version 7.5 now I updated to 7.6, will see…but something is just not right

Zone history

)

Temperature history

Didn’t help. :frowning: No update over night ar 23:00.

Any ideas what I can do to make the automatic calculation work again?

Not sure, maybe try disabling/enabling automatic calculation? Is auto update working? It’s weird that one would not work and the other would. Are you seeing any messages on HA boot related to update and schedule? I think it might be the case the the calculations are actually running but failing.

I am still on 2024.7.5 but nothing is updating. Bucket and duration are stuck on 0. Even if I update/calculate all zones they stay 0.

anything in the logs that can help?

I’ve had same issue since updating, tried completely uninstalling and reinstalling but no luck. Honestly have never managed to get this working reliably in months and pretty much given up. I have a hard time making sense of the logs. Maybe a diagnostics page that exposed the last 24hr calculations could help identify where the issues are.

thanks for the feedback, I will think about this and see what we can add to make it easier to troubleshoot. Not sure where you went wrong to “not get it to work” as it works fine for 700+ installations. Maybe your scenario is very particular.

Thanks @jeroenterheerdt

In my case it started here (issue #399) and honestly I would think is a pretty basic use case (1 zone, OWM integration, that’s it).

Initially it seemed to reflect evaporation during the day, but even after significant (0.5" ish) rainfall, the bucket wouldn’t go up. I understand rainfall != bucket change, but it seemed to never account for rain ever.

Knew you were working on some new revisions and continuous update so I gave it a rest and hoped update would resolve it. Now it doesn’t update at all. Zero bucket for days.

Will crawl my logs and see if anything in there might be of help.

Below are some snippets since reinstalling.
Despite having continuous updates enabled, it seems to be only attempting the calculation at 22:01 and failing the last 2 days.
I just manually forced a data update and calculation and that seems to have gone through ok so will keep an eye on if it keeps going, and what happens tonight.

2024-07-22 13:40:55.288 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'smart_irrigation' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/api/panel_custom/smart-irrigation", "/config/custom_components/smart_irrigation/frontend/dist/smart-irrigation.js", False)])`; This function will be removed in 2025.7 at custom_components/smart_irrigation/panel.py, line 32: hass.http.register_static_path(PANEL_URL, view_url, False), please create a bug report at https://github.com/jeroenterheerdt/HASmartIrrigation/issues

2024-07-22 13:41:50.178 WARNING (MainThread) [py.warnings] /config/custom_components/smart_irrigation/__init__.py:1343: RuntimeWarning: coroutine 'SmartIrrigationCoordinator.update_subscriptions' was never awaited
  self.update_subscriptions()

2024-07-22 13:47:01.836 ERROR (MainThread) [homeassistant.helpers.dispatcher] Exception in async_update_sensor_entity when dispatching 'smart_irrigation_config_updated': (0,)
Traceback (most recent call last):
  File "/config/custom_components/smart_irrigation/sensor.py", line 116, in async_update_sensor_entity
    self._name = zone["name"]
                 ~~~~^^^^^^^^
TypeError: 'NoneType' object is not subscriptable

2024-07-22 13:47:01.918 ERROR (MainThread) [homeassistant.helpers.dispatcher] Exception in async_update_sensor_entity when dispatching 'smart_irrigation_config_updated': (0,)
Traceback (most recent call last):
  File "/config/custom_components/smart_irrigation/sensor.py", line 116, in async_update_sensor_entity
    self._name = zone["name"]
                 ~~~~^^^^^^^^
TypeError: 'NoneType' object is not subscriptable

2024-07-22 22:01:00.988 WARNING (MainThread) [custom_components.smart_irrigation] Calculate for zone Back yard failed: no data available.

2024-07-23 22:01:00.155 WARNING (MainThread) [custom_components.smart_irrigation] Calculate for zone Back yard failed: no data available.