My Garden Irrigation

Very small update on GitHub.

Using card-mod, type: custom:horizontal-layout wasn’t working for me on the mobile app (although it did on my desktop) so I have changed to use the new Sections feature in HA 2024.03

John, just saw your post now 5 years later, but thought I’d just mention a different viewpoint on the “ground it” argument.
WHEN one uses a metal enclosure for electrics, it should be grounded, mainly because it can act as a conductor of current. So we ground a metal casing that can be touched by people, so that a fault current - however that comes about - can be diverted to ground via the ground wire, and not via the user. In both cases an earth leakage breaker will trip (as current flows from hot/L but not back via N), but in the latter case the user could be electrocuted.
However, you will notice that doubly insulated tools (with the little box inside a box icon) have no ground wire. That is because, when an electrical tool is not in a metal container, there is no conductor that can carry current to a user touching the tool’s outside.
So, a plastic case is better than a metal one, as the user can touch the plastic case and it wil not carry current if something goes wrong with the electrics housed in it. A transformer housing or other metal parts inside the box should be grounded though, as the same “touch” argument applies there.

I have the same problem.
I checked and the following sensors were not created:
binary_sensor.irrigation_cycle_start_clash
sensor.irrigation_next_run

I solved:
in irrigation_globals.yaml
I modified the creation of the 2 sensors.
I removed template:
created the binary_ sensors and the sensor with:
-platform: template
sensor:
irrigation_nex_run:
friendly_name: irrigation next run
value_template: >

i have the same problem. Did you solve it? How? thanks

this

Hey, I had same issue … apparently this section don’t use defined switch name for each section and I had to change it manually in file that you mentioned.

So for each zone that you have change entity_id in file to switch that you use and should work

thank you, this solved History issue :+1:

Hi, actually the project is on left menu:

immagine

I’d like to change location into this view (actually empty):

immagine

How can I do?

Ciao a tutti
I think I followed all the instructions, even if they didn’t always correspond to the exact names of files or locations, currently my condition is this… can anyone kindly tell me where I’m wrong?
Grazie mille

this is the only thing that works…

did you install all custom components required?
check this guide Irrigazione smart con "My garden Irrigation" per Home Assistant - Domotica DIY

Hi Brook
Thanks for the reply

Yes, I tried using 2 guides, the first being the one indicated by you, while the second is this one
https-://lamiacasaelettrica.com/irrigazione-home-assistant/?doing_wp_cron=1714632282.5898211002349853515625

and

https-://github.com/kloggy/HA-Irrigation-Version2/blob/261024f51ff3bfc84e151e166d63cb16c543c272/Pre-Requisites.md
(at the end of the guide)

However, the result has always been the same every time.
It’s not very clear honestly what I need to add in the configuration.yaml

As prerequisites I followed these instructions

https-://github.com/kloggy/HA-Irrigation-Version2/blob/261024f51ff3bfc84e151e166d63cb16c543c272/Pre-Requisites.md

It would be useful as a start to understand what is needed to start the card, as a minimum configuration
I think something is wrong with the graphics but I don’t understand what it could be.

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: