Bewässerungsprogramm mit Smart Irrigation

Hallo,
ich nutze in HA die Smart Irrigation Integration zur Berechnung meiner 4 Zonen im Garten. Ich habe daraufhin eine Automatisierung erstellt, die anhand der berechneten Beregnungsdauer alle 4 Zonen nacheinander beregnen soll. Leider funktioniert das bisher nicht wie gedacht. Es startet nicht wie geplant 1h vor Sonnenaufgang. Kann mir jemand sagen ob ich da irgendwo einen Fehler drin habe? Ich bin in Sachen Automation noch nicht so gut unterwegs und habe mich da mit YouTube durchgehangelt :slight_smile:

alias: Bewässerung
description: alle Zonen
trigger:
  - platform: sun
    event: sunrise
    offset: "-01:00:00"
    alias: Wenn die Sonne in einer Stunde aufgeht
    enabled: true
condition:
  - condition: and
    conditions:
      - condition: state
        entity_id: input_boolean.bewasserung
        state: "on"
        alias: Bewässerung Automatik an
      - alias: Beregnungsdauer über 2400
        condition: numeric_state
        entity_id: sensor.smart_irrigation_zone_1_gr_kreis
        above: 2400
      - condition: not
        conditions:
          - condition: numeric_state
            entity_id: sensor.zisterne
            enabled: true
            below: 70
action:
  - service: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.bew_aktiv
    alias: Schalter Bewässerung aktiv EIN
  - alias: Schalte Pumpe ein
    service: switch.turn_on
    metadata: {}
    data: {}
    target:
      entity_id:
        - switch.aktor_bewasserung_pumpe_ch34
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - service: valve.open_valve
    metadata: {}
    data: {}
    target:
      entity_id: valve.aktor_bewasserung_ventilkreis5_gr_kreis
  - delay:
      seconds: "{{states(\"sensor.smart_irrigation_zone_1_gr_kreis\")}}"
    alias: Beregnungsdauer Zone 1
  - service: valve.close_valve
    metadata: {}
    data: {}
    target:
      entity_id: valve.aktor_bewasserung_ventilkreis5_gr_kreis
  - alias: Setze Bucket Zone 1 auf 0
    service: smart_irrigation.reset_bucket
    metadata: {}
    data: {}
    target:
      entity_id: sensor.smart_irrigation_zone_1_gr_kreis
  - service: valve.open_valve
    metadata: {}
    data: {}
    target:
      entity_id: valve.aktor_bewasserung_ventilkreis4_pgpmitte
  - delay:
      seconds: "{{states(\"sensor.smart_irrigation_zone_2_mitte\")}}"
    alias: Beregnungsdauer Zone 2
  - service: valve.close_valve
    metadata: {}
    data: {}
    target:
      entity_id:
        - valve.aktor_bewasserung_ventilkreis4_pgpmitte
  - alias: Setze Bucket Zone 2 auf 0
    service: smart_irrigation.reset_bucket
    metadata: {}
    data: {}
    target:
      entity_id:
        - sensor.smart_irrigation_zone_2_mitte
  - service: valve.open_valve
    metadata: {}
    data: {}
    target:
      entity_id:
        - valve.aktor_bewasserung_ventilkreis2_pgplinks
  - delay:
      seconds: "{{states(\"sensor.smart_irrigation_zone_3_links\")}}"
    alias: Beregnungsdauer Zone 3
  - service: valve.close_valve
    metadata: {}
    data: {}
    target:
      entity_id:
        - valve.aktor_bewasserung_ventilkreis2_pgplinks
  - alias: Setze Bucket Zone 3 auf 0
    service: smart_irrigation.reset_bucket
    metadata: {}
    data: {}
    target:
      entity_id: sensor.smart_irrigation_zone_3_links
  - service: valve.open_valve
    metadata: {}
    data: {}
    target:
      entity_id:
        - valve.aktor_bewasserung_ventilkreis1_rotatoren_1
        - valve.aktor_bewasserung_ventilkreis3_tropf
  - delay:
      seconds: "{{states(\"sensor.smart_irrigation_zone_4_rotatoren\")}}"
    alias: Beregnungsdauer Zone 4
  - alias: Schalte Pumpe aus
    service: switch.turn_off
    metadata: {}
    data: {}
    target:
      entity_id:
        - switch.aktor_bewasserung_pumpe_ch34
  - service: valve.close_valve
    metadata: {}
    data: {}
    target:
      entity_id:
        - valve.aktor_bewasserung_ventilkreis1_rotatoren_1
        - valve.aktor_bewasserung_ventilkreis3_tropf
  - alias: Setze Bucket Zone 4 auf 0
    service: smart_irrigation.reset_bucket
    metadata: {}
    data: {}
    target:
      entity_id: sensor.smart_irrigation_zone_4_rotatoren
  - service: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.bew_aktiv
    alias: Schalter Bewässerung aktiv AUS
mode: single

Vielleicht kann mir ein geschultes Auge dazu ein paar Hinweise geben!?

Vielen Dank vorab!

Gruß
Alfi84

Kann eigentlich nur an deiner (verschachtelten) Condition liegen. Sind alle Parameter erfüllt? ich würde einzelne Teile rausnehmen und mich langsam rantasten

Als Trigger dient Sonnenaufgang (-1h). Die Bedingungen sind
-Schalter (Helfer) Automatik ist an
& Beregnungsdauer größer 2000 (als Bezug Zone 1)
& Zisterne ist nicht unter 70%

ich habe die Conditionen schon nachvollziehen können. Daher noch einmal meine Frage, sind alle parameter erfüllt? Die "und nich"t Funktion würde ich gegen eine “und Funktion” (= größer 70 ) tauschen. Logikoperatoren arbeiten manchmal seltsam

Parameter sind erfüllt. Die & >70 hatte ich vorher schon drin. Hat auch nicht funktioniert.

Wie muss denn eine logische & Reihenfolge mit 3 Bedingungen aussehen?

wie gesagt, bin mir sicher dass deine condition zu kompliziert und fehelrhaft ist. Conditions sind immer und verknüpfungen. Du musst diese nicht nochaml in und und schon gar nicht mit und nicht verarbeiten. Nimm deine drei Conditions Schalter an, Bucket > 2400 und zisterne > 70 einzeln in die Conditions. Dann muss das funktionieren. Um zu testen kannst du oben auch mal die zeit statt Sonnenaufgang auf aktuell stellen und die einzelnen Conditionen deaktivieren und einzeln aktivieren. Damit kommst du zur Lösung

Das mit der Zeit aktuell habe ich bereits getestet. Da hat es auch funktioniert. Das Programm ist komplett durchgefahren.
Ich habe die Bedingungen jetzt wie folgt angeordnet:

Sollte das wirklich ohne “&” funktionieren?
Ich brauche auch noch irgendwie einen “Not-Aus”, der das Programm bei Betätigung sofort stoppt. Wie kann ich das am Besten einbauen?

Wenn du ein not aus willst musst du deine ganzen Aktionen die du nacheinander ausführst in ein Skript packen. Das Skript kannst du per automation abbrechen und die Ventile schließen.

VG

Und wie sieht so ein Script dafür aus?

Ich bin aktuell im Urlaub und kann nur mobil auf meine Daten zugreifen. Für die Klima hab ich bei mir folgendes Skript:

alias:%20%22Klima%3A%20Zeitsteuerung%22%0Asequence%3A%0A%20%20-%20service%3A%20climate.set_hvac_mode%0A%20%20%20%20metadata%3A%20%7B%7D%0A%20%20%20%20data%3A%0A%20%20%20%20%20%20hvac_mode%3A%20cool%0A%20%20%20%20target%3A%0A%20%20%20%20%20%20entity_id%3A%20climate.klimaanlage_klimaanlage%0A%20%20-%20service%3A%20climate.turn_on%0A%20%20%20%20metadata%3A%20%7B%7D%0A%20%20%20%20data%3A%20%7B%7D%0A%20%20%20%20target%3A%0A%20%20%20%20%20%20entity_id%3A%20climate.klimaanlage_klimaanlage%0A%20%20%20%20enabled%3A%20false%0A%20%20-%20delay%3A%0A%20%20%20%20%20%20hours%3A%201%0A%20%20%20%20%20%20minutes%3A%200%0A%20%20%20%20%20%20seconds%3A%200%0A%20%20%20%20%20%20milliseconds%3A%200%0A%20%20-%20service%3A%20climate.turn_off%0A%20%20%20%20metadata%3A%20%7B%7D%0A%20%20%20%20data%3A%20%7B%7D%0A%20%20%20%20target%3A%0A%20%20%20%20%20%20entity_id%3A%20climate.klimaanlage_klimaanlage%0Afields%3A%20%7B%7D%0Adescription%3A%20%22%22%0Aicon%3A%20mdi%3Asun-snowflake-variant%0A

Leider klappt das kopieren nicht mobil…

Kannst du das bitte bei Gelegenheit nochmal richtig darstellen? Danke

alias: "Klima: Zeitsteuerung"
sequence:
  - service: climate.set_hvac_mode
    metadata: {}
    data:
      hvac_mode: cool
    target:
      entity_id: climate.klimaanlage_klimaanlage
  - service: climate.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: climate.klimaanlage_klimaanlage
    enabled: false
  - delay:
      hours: "{{ duration | int}}"
      minutes: 0
      seconds: 0
      milliseconds: 0
  - service: climate.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: climate.klimaanlage_klimaanlage
fields:
  duration:
    selector:
      number:
        min: 1
        max: 10
        step: 1
    name: duration
    default: 1
    required: true
    description: Laufzeit in Stunden
description: ""
icon: mdi:sun-snowflake-variant

Ich habe es jetzt über ein script umgesetzt, welches über eine Automation aufgerufen wird. Eine 2. Automation stoppt das script und setzt alle Ventile zurück. Danke für die Gedankenstützen :wink: