My Garden Irrigation

you are right, this is the best guide Irrigazione smart con Home Assistant: guida pratica completa (the one i followed now that i think about it)

I would try again from scratch and make sure that all requisites are fully installed and configured.
and also reinstall ha irrigation

I finally managed to make it work, a simple mistake in the name of a folder compared to the tutorial, the incorrect name was “Garden Irrigation”… however now it works, and therefore I confirm the accuracy of the guide. A really well done package, congratulations

Perhaps an interesting function to implement would be to add more irrigation cycles, not just 2, this is to be able to use short times per cycle for example 5 minutes repeated 4 times… this is to give the lawn time to absorb the water first of the next cycle. For example, a cycle of 20 minutes would be too much as the lawn perhaps does not have time to absorb all the water…

depending on how many sprinklers you have you could register them in more than 1 zone:
i have 4 sprinklers, i set each one in 4 different zone setting and have them start in rotation, this allows me to have them each start 4 times in the morning and 4 in the evening (there is a max of 16 zones allowed)

  • sprinkler 1 3min (zone 1)
  • sprinkler 2 3min (zone 2)
  • sprinkler 3 3min (zone 3)
  • sprinkler 4 3min (zone 4)
  • sprinkler 1 3min (zone 5)
  • sprinkler 2 3min (zone 6)
  • sprinkler 3 3min (zone 7)
  • etc …

just a workaround :slight_smile:

Right, I hadn’t thought about it… I have 8 sprinklers so 16 are enough to divide the irrigation times, except that this way I have a very long map to view but for now that’s fine… excellent

@klogg there is a typo in irrigation_notifications.yaml
line 175 trogger should be trigger
change this

          The total watering time should be about {{ (states('sensor.irrigation_' ~ trogger.id ~ '_duration_in_seconds') | int / 60) | int }} minutes but I'll let you know when it has finished.

to this

          The total watering time should be about {{ (states('sensor.irrigation_' ~ trigger.id ~ '_duration_in_seconds') | int / 60) | int }} minutes but I'll let you know when it has finished.

I know this is a bit off topic, but, i’ve set up my own script.notify to get the notifications, could you tell me how i can parse {{ tell }} in the script to make the notification go to the desired recipient?

I have no idea how that sneaked in. It is correct on my local copy!!
I’ll update Github.
Thanks.

I’m not sure I follow the question.
{{ tell }} is the value of an input_text, one for each user and can be edited using this

image

It can be whatever suits your script.notify
Or am I missing something

this is my simple script.notify

notify:
  alias: notify
  sequence:
  - service: notify.mobile_app_sm_g970f
    data_template:
      message: '{{ message }}'
      title: '{{ title }}'
  - service: notify.brook_telegram
    data_template:
      message: '{{ message }}'
      title: '{{ title }}'
  mode: parallel
  max: 10

as it is it sends notifications to both app and telegram.
If i have tell = telegram, how do I have the script check tell and decide who to send it to? (probably simple question but i have tried and searched for the past two days with no success)

EDIT: Hang on… I think if you simply make the user name in irrigation the notification method you can simply template the notify based on that.
(sorry, like I said it was a rushed answer as I am very short of time)


ok, I do something similar, my notify script handles many types such as text, TTS, HA persistent and other types of notification but I only use one method (mobile app) for ‘text’ notifications.

My script.notify simply looks to see if anything is in {{ tell }} and then it knows to send to mobile app.

I think you will need to include the notification method in the irrigation user name and then template the notify service call based on that.

(Or simply hard code the decision based on user name)

something like this (untested and rushed so probably not accurate and definitely not the most efficient way to do it but hopefully it is enough to get you going):

  - variables:
      - tell_users: >
        {{ tell.replace(' ','').split(',') | list }}

  - if:
      - condition: template
        value_template: >
          {{ 'telegram' in tell_user[0] }}
    then:
      - service: >
          notify.{{ tell_user[0] }}
        data:
          message: '{{ message }}'
          title: '{{ title }}'
    else:
      - service: >
          notify.{{ tell_user[0] }}
        data:
          message: '{{ message }}'
          title: '{{ title }}'

thank you, that’s what i was looking for :slight_smile:

Thank you for this project I have been using from the beginning:-)
I updated to the last package but I have some problems and questions.

For updating I deleted old folder and then I put
garden_irrigation folder and view_garden_irrigation.yaml file in lovelace
Garden Irrigation folder and Logging folder in packages
After that I own all my configuration still there but :slight_smile:

  1. If I click "edit user name I receive an error entity not available

For update I simply renamed

  1. where I have to put the logging folder? in the Package one?
  2. if I click edit user name I receive an error entity not available
  3. I receive error “input_boolean.irrigation_cycle1_wait_for_entity” in The Zone info pop up
  1. My logging folder is in my packages folder.at the same level as the Garden Irrigation folder
  2. User names have to be defined separately from this package:
input_text:

  #=== User names for notifications
  notifications_user1_name:
    min: 0
    max: 20

  notifications_user2_name:
    min: 0
    max: 20
  1. Have you turned off the option to wait?
    image
1 Like

REQUEST:
i’ve been using openweathermaphistory for a while, and recently got my own weather station.
as i was trying to use the precipitation data from my station sensor i realized (if i got it right) that OWMH does this:
today precipitation: from now to 24h ago
yesterday precip: from 24 to 48h ago

on the other hand HAIrrigationv2 uses the actual day from 00 to 24h, and will take the yesterday precip at midnight and move it to 2 days ago and so on…

so using owmh is not a good idea as 2 days ago to 4 days ago are not consistant with today and yesterday :confused:

going back to my own weather station sensor i anyhow needed to set up a sensor for yesterday’s rain, but i liked more the way OWMH records precip history because this way the rain multiplier is truly calculated on the past 24h, 24-48, 48-72… etc.

anyhow, to achieve this i had to modify several files, made options to add sensors for all 4 past days to the weather sensor setting popup, and eliminated the midnight sensor cycling.

The request is: in the weather sensor setting popup would be cool to have an option to add a always increasing precipitation sensor (or perhaps a yearly one) from which HAIrrigationv2 could extrapolate the precipitations from last 24h, 48-24h, etc.

Hi mate,

Thanks you for this project, looks great!
The thing that’s stopping me from trying it is the amount of prerequisites needed. Are they all still required or perhaps the github hasn’t been updated?

Goodmorning,
new HA 2024.6 broke the the logging :frowning:
I get these 3 errors:

The automation “Logging New Day Actions” (automation.logging_new_day_actions) has an action that calls an unknown service: notify.log_irrigation.

The automation “Irrigation Triggered” (automation.irrigation_triggered) has an action that calls an unknown service: notify.log_irrigation.

The automation “Irrigation Triggered Cycle Start” (automation.irrigation_triggered_cycle_start) has an action that calls an unknown service: notify.log_irrigation.

Your irrigation project is impressive. Version 2 sounds really comprehensive. I’m just starting to look into automating my own watering system, so I’ll definitely be checking out your work on Github.

I’ll be honest, yes, the Github docs don’t get checked/updated as often as they might but I had a quick look just now and I think the only component no longer needed is layout-card.

Many of the pre-requisites are kind oif optional:

Themes - Can be ignored unless you want o change the look
Fonts - Can also be ignored if you are happy with teh default font - which is fine. I only added the option to change it as a bit of fun
Notifications - Again, this is optional functionality

The Recorder section is optional but a good idea to implement if you want to keep the DB as small as possible.

I hope that helps

1 Like

Thanks for letting me know.

Whilst I usually wait for the .1 version before I upgrade :wink: I always look at the beta release notes so I get a weeks warning of anything that I need to look at. I remember now making a mental not of the ‘notify’ breaking change, ahem, Backward-incompatible change but clearly a mental note wasn’t enough this time :thinking:

Sorry.

I will look at this as soon as I can

Thanks.

I keep thinking that is is time for a re-write but to be honest (for me at least) it has been 100% faultless so that job keeps getting pushed back.

Code wise there are a few things I’d do differently now and there could be a bit more flexibility built in for other users…

Anyway, I hope it is useful for you in some way.

image

I already have this in my config, can you try it please.

homeassistant:
  #=== Included for FileSize sensor
  allowlist_external_dirs:
    - /config

(Obviously if your log files are somewhere else then adjust accordingly)

Docs

I’m sure I double checked the allowlist_external_dirs before posting :scream:
my bad… now it works

but also this:

The File notify.log_irrigation service is migrated, but it seems the old notify service is still being used.
A new notify entity is available now to replace each legacy notify service.
Update any automations or scripts to use the new notify.send_message service exposed with this new entity. When this is done, select Submit and restart Home Assistant.

is this about changing

service: notify.log_irrigation

to

service: notify.send_message
target:
  entity_id: notify.log_irrigation

?

modified these:
/config/packages/garden_irrigation/irrigation_logging_remote.yaml
/config/packages/garden_irrigation/irrigation_logging.yaml
/config/packages/logging/logging.yaml