Automation zur Bewässerung bei Temperatur-Vorhersage

Hallo liebe Gemeinde,

ich verzweifle hier noch…
Ich habe eine Bewässerung an einem Hunter-Bewässerungscomputer. Der stellt alle nötigen Entitäten bereit und man kann die Bewässerung prinzipiell mit HA starten.

Ich habe als Auslöser (Sobald):
täglich 20.00
Temperaturvorhersage für morgen zwischen 20 und 24,9 Grad => Auslöser-ID auf 20-25 setzen
Temperaturvorhersage für morgen zwischen 25 und 27,9 Grad => Auslöser-ID auf 25-28 setzen
Temperaturvorhersage für morgen über 28 Grad => Auslöser-ID auf 28 setzen

Und wenn:
der Bodenfeuchtesensor unter 30 (%) ist
und wenn Niederschlagswahrscheinlichkeit für morgen unter 50%
und wenn Regen heute unter 0,3mm

Dann
führe eine Aktion nur unter einer Bedingung aus
(wenn die Auslöser-ID 20-25 ist, dann starte Bewässerung Vorgarten für 5 Minuten)
und die anderen entsprechend der Temperatur-Vorhersage etwas länger.

Die Bedingungen “Und wenn” kann ich ja mit dem Menü prüfen. Sie melden alle “Bedingung erfüllt”.
Auch wenn ich die Temperaturvorhersage mal testweise als Bedingung hinzufüge, melde diese “Bedingung erfüllt”.

Trotzdem startet die Bewässerung nicht.
Die Entität zum Starten der Bewässerung ist korrekt - ich kann mit ihr die Bewässerung starten.

Hat einer von euch eine Idee, wo das Problem liegt?

Viele Grüße
André

Was sagt die Trace? Steht irgendwas im Log?

Hallo,
guter Hinweis.
Im LOG steht, Automation “Bewässerung Vorgarten” wurde ausgelöst durch Uhrzeit.

Im Trace sehe ich, dass nur der eine Auslöser ausgelöst hat, aber nicht der zweite.

Sind die Auslöser UND - verknüpft ?

Viele Grüße
André

Trigger sind immer ODER.
Welcher hätte denn deines Erachtens zusätzlich auslösen müssen?

Ich würde sagen das hebt sich selbst sofort wieder auf. An-Aus
Deine “Und wenn” Bedingungen gelten für alles gleichzeitig.
Ich lasse bei sowas immer die Mitte mit dem “Und wenn” weg.
Im Trigger jeweils eine ID anlegen.
Im “Dann”:
Bedingung “Und”. “ID”. Und die passende Bedingung aus dem “Und wenn”
Stell doch mal den Yaml Code rein.
Und zwar mit “</>” aus der Symbolleiste.
Dann kann ich es Dir kurz zeigen.
Beispiel Auszug von mir:

Vielen Dank für eure Antworten.
Ich mache heute tagsüber einen Ausflug.
Aber heute Abend schaue ich mir das noch mal genauer an und melde mich.
Bis dahin wünsche ich euch einen sonnigen Tag.
Viele Grüße André

Nur aus Interesse: hier wird die hydrawise Integration verwendet, oder?

Hallo,
Ja, es geht um die Integration von Hunter Hydrawise.

Hallo Tialk,
das sieht genau passend aus.
Ich finde nur die Bedingungen nicht…
Also als Auslöser nehme ich für die Bewässerung nur die Uhrzeit.
“Und Wenn” lasse ich leer.
Bei “Dann” nehme ich “Bewässerung starten” und wähle dazu die passende Entität.

Nur wie bekomme ich dazu die Abhängigkeiten?
Also zu Bodenfeuchte, Regenvorhersage für morgen und Temperaturvorhersage für morgen - und das letzte gestaffelt zur Länge der Bewässerung?
Ich kann bei “Wenn” keine ID vergeben…

Viele Grüße

Edit: Soweit habe ich es (siehe Foto)

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Also Als Trigger nimmst Du “Bodenfeuchte Vorgarten unter 65%”
Jetzt rechts auf die 3 Punkte. Da auf ID bearbeiten.
Hier kannst Du selber Dir einen Begriff/Satz ausdenken den Du nachher als Bedingung unten als “ID” verarbeiten kannst.

Jetzt weiter unter “Dann”
“Wenn” Bedingung mit “Und” erstellen wie Du es schon gemacht hast.
Hier suchst Du als Bedingung “Andere Aktion ausführen” …dann “ID”
Jetzt kannst Du das wieder auswählen was Du vorher vergeben hast.


Dazu dann Deine 2 anderen Bedingungen die da noch stehen.
Somit ist dann der Trigger oben eindeutig mit einer Ausführung verbunden.

Du kannst somit für jeden Auslöser eine eigene ID vergeben und später als Bedingung Wählen.
Auf Diese weise kannst Du größere Automationen oft in einer Datei erstellen.

Guten morgen.
Danke dafür.
Aber dann müsste ich ja als Trigger die Uhrzeit nehmen und zusätzlich die verschiedenen Temperatur-Vorhersagen.
Also z.B. zwischen 20 und 26 Grad - ID: 20-26
zwischen 26,1 und 29 Grad - ID: 26-29
Und über 29,1 Grad - ID 29-x

Ich habe verstanden, dass die Träger alle als ODER verknüpft sind.
Das war ja auch mein Problem, dass nur der erste Trigger ausgelöst hat.

Oder habe ich jetzt einen Denkfehler?

:wave:

Oder bin ich besser dran, wenn ich unter “Dann” drei Aktionen einfüge, in die ich jeweils verschiedene Bedingungen aufnehme?
Die Bedingungen unterscheiden sich dann nur in der Temperatur-Vorhersage.

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Nimm den Trigger der Dir als Auslösekriterium am wichtigsten ist.
In Deinem Falle scheinbar die Zeit.
Und am besten schalte auf Yaml Modus, kopiere den Inhalt und setzte diesen hier rein mit “</>”.
Dann kann man es editieren und Dir angepasst schicken.
Und Ich sehe auch den kompletten Gedankengang. :kissing_heart:

Hallo,
danke.
Den Yaml-Code sende ich dir hier:

alias: Bewässerung Vorgarten
description: ""
triggers:
  - trigger: time
    at: "20:00:00"
conditions: []
actions:
  - alias: 20-24,9 °C, <40% - 4 Minuten
    if:
      - condition: and
        conditions:
          - condition: numeric_state
            entity_id: sensor.wetter_vorhersage_des_nachsten_tages
            above: 20
            below: 24.9
            attribute: temperature
          - condition: numeric_state
            entity_id: sensor.gw1100a_soil_moisture_3
            below: 40
          - condition: numeric_state
            entity_id: sensor.berlin_tegel_niederschlagswahrscheinlichkeit
            below: 50
          - condition: numeric_state
            entity_id: sensor.gw1100a_daily_rain_rate
            below: 0.3
    then:
      - action: hydrawise.start_watering
        metadata: {}
        data:
          duration: 4
        target:
          entity_id: binary_sensor.vorgarten_bewasserung
  - if:
      - condition: and
        conditions:
          - condition: numeric_state
            entity_id: sensor.wetter_vorhersage_des_nachsten_tages
            above: 25
            below: 27.9
            attribute: temperature
          - condition: numeric_state
            entity_id: sensor.gw1100a_soil_moisture_3
            below: 40
          - condition: numeric_state
            entity_id: sensor.berlin_tegel_niederschlagswahrscheinlichkeit
            below: 50
          - condition: numeric_state
            entity_id: sensor.gw1100a_daily_rain_rate
            below: 0.3
    then:
      - action: hydrawise.start_watering
        metadata: {}
        data:
          duration: 6
        target:
          entity_id: binary_sensor.vorgarten_bewasserung
    alias: 25-27,9 °C, <40% - 6 Minuten
  - if:
      - condition: and
        conditions:
          - condition: numeric_state
            entity_id: sensor.wetter_vorhersage_des_nachsten_tages
            above: 28
            attribute: temperature
          - condition: numeric_state
            entity_id: sensor.gw1100a_soil_moisture_3
            below: 40
          - condition: numeric_state
            entity_id: sensor.berlin_tegel_niederschlagswahrscheinlichkeit
            below: 50
          - condition: numeric_state
            entity_id: sensor.gw1100a_daily_rain_rate
            below: 0.3
    then:
      - action: hydrawise.start_watering
        metadata: {}
        data:
          duration: 8
        target:
          entity_id: binary_sensor.vorgarten_bewasserung
    alias: ">28 °C, <40% - 8 Minuten"
mode: single

Und hier für den Trigger “Uhrzeit” mit ID zurück.
Das ganze wieder komplett bei Dir als Yaml rein.
Dann schaltest Du zurück auf Visuelles Editieren.
Für andere Trigger dann genauso.

alias: Bewässerung Vorgarten
description: ""
triggers:
  - trigger: time
    at: "20:00:00"
    id: Auslöser Uhrzeit
conditions: []
actions:
  - alias: 20-24,9 °C, <40% - 4 Minuten
    if:
      - condition: and
        conditions:
          - condition: trigger
            id:
              - Auslöser Uhrzeit
          - condition: numeric_state
            entity_id: sensor.wetter_vorhersage_des_nachsten_tages
            above: 20
            below: 24.9
            attribute: temperature
          - condition: numeric_state
            entity_id: sensor.gw1100a_soil_moisture_3
            below: 40
          - condition: numeric_state
            entity_id: sensor.berlin_tegel_niederschlagswahrscheinlichkeit
            below: 50
          - condition: numeric_state
            entity_id: sensor.gw1100a_daily_rain_rate
            below: 0.3
    then:
      - action: hydrawise.start_watering
        metadata: {}
        data:
          duration: 4
        target:
          entity_id: binary_sensor.vorgarten_bewasserung
  - if:
      - condition: and
        conditions:
          - condition: numeric_state
            entity_id: sensor.wetter_vorhersage_des_nachsten_tages
            above: 25
            below: 27.9
            attribute: temperature
          - condition: numeric_state
            entity_id: sensor.gw1100a_soil_moisture_3
            below: 40
          - condition: numeric_state
            entity_id: sensor.berlin_tegel_niederschlagswahrscheinlichkeit
            below: 50
          - condition: numeric_state
            entity_id: sensor.gw1100a_daily_rain_rate
            below: 0.3
    then:
      - action: hydrawise.start_watering
        metadata: {}
        data:
          duration: 6
        target:
          entity_id: binary_sensor.vorgarten_bewasserung
    alias: 25-27,9 °C, <40% - 6 Minuten
  - if:
      - condition: and
        conditions:
          - condition: numeric_state
            entity_id: sensor.wetter_vorhersage_des_nachsten_tages
            above: 28
            attribute: temperature
          - condition: numeric_state
            entity_id: sensor.gw1100a_soil_moisture_3
            below: 40
          - condition: numeric_state
            entity_id: sensor.berlin_tegel_niederschlagswahrscheinlichkeit
            below: 50
          - condition: numeric_state
            entity_id: sensor.gw1100a_daily_rain_rate
            below: 0.3
    then:
      - action: hydrawise.start_watering
        metadata: {}
        data:
          duration: 8
        target:
          entity_id: binary_sensor.vorgarten_bewasserung
    alias: ">28 °C, <40% - 8 Minuten"
mode: single

Ja, Klasse ! :grinning:
Wahrscheinlich macht es Sinn, sich mal etwas mehr mit Yaml direkt auseinanderzusetzen…

Ich danke dir!
Ich werde es die Tage mal testen und mit den Parametern etwas spielen (Bodenfeuchtigkeit, Temperaturvorhersage, usw.)

Hast du noch einen Tip, wie ich es anstellen, dass die ganze Automation nur jeden 2. Tag auslöst?
Würdest du das mit einem Zeitschema machen (alle 48 Stunden)?

Viele Grüße André

Mache Dir einen “Helfer” Zeitplan. Den Zustand kannst Du dann Abfragen.
Für das mit der “ID” brauchst Du kein Yaml.
Das habe ich oben schon mal beschrieben wie es geht .-)
Es ist für einen Helfenden manchmal einfacher wenn man die ganze Automation sieht.

Vielen Dank, das mit dem Datums-Helfer hat geklappt.

(Wer meinen vorherigen Beitrag bereits gesehen hat, den ich gerade wieder gelöscht habe - ich habe den Fehler gefunden. Er saß vor dem Bildschirm…)