Mähvorgang startet nicht wie gewollt

Hallo,
ich habe folgende Automation.

Nach meinen Vorstellungen hätte der Mähvorgang heute um 10:00 Uhr starten sollen,
nun startet der Mähvorgang aber erst um 13:00 Uhr!

Der Auslöser: Regensensor ist seit 6h trocken ist erfüllt. Dieser meldet seit 16h trocken.
Der Mähplan ist “Ein” und die Temperartur über 10°C.
Bedingung ist Montag und zwischen 10:00 und 13:00 Uhr sind erfüllt.

Wo habe ich den Gedankenfehler?
Hat es mit dem Auslöser zu tun, ändert zu Trocken seit 06 Stunden?

Dein Trigger hat demnach gestern um 22.00 Uhr getriggert. Da waren aber nicht alle Bedingungen erfüllt.
Und seither wurde nicht mehr ausgelöst, weil der Regensensor nicht mehr verändert wurde.
Du musst mit der Zeit triggern (z.B. stündlich, also “/1”) und den Regensensor als Bedingung einbauen.

Der Trigger löst aus, wenn der Regensensor für 6h Trocken meldet. Das ist nicht unbedingt zwischen 10 und 13 Uhr. Daher ist danach die Automatisierung zu ende und nichts passiert.

Wie @Ubuntubirdy schon schreibt, musst du die Zeit, 10 Uhr, als Trigger nehmen. Ich würde allerdings nicht stündlich nehmen, sondern mit Warte auf Auslöser und einem Timeout von 3 Stunden arbeiten.


Ja, da hast du natürlich recht, das ist auch ne Möglichkeit. Mir wäre einfach der Zeitraum zu lange, in dem dann HA nicht neu gestartet werden kann, weil sonst die Automation abgebrochen wird.

Okay,
so ganz blicke ich noch nicht durch.

Dass der Regensensor als Trigger ein unglückliche Wahl war, habe ich verstanden,
denn die Änderung von feucht zu trocken war vor 10:00 Uhr und hat sich nicht mehr geändert und keine neuen Trigger ausgelöst.

Wenn ich nun nach der Zeit (Bsp.: 10:00 Uhr) triggere, beginnt um 10:00 Uhr die Automatisierung.

Meldet der Regensensor schon mehr als 6 Stunden trocken, würde auch der Mähvorgang starten.
Kommt die “trocken” Meldung des Regensensors aber erst 2 Stunden später, startet der Mähvorgang nicht, weil der Trigger ja nicht erneut ausgelöst wurde.
Korrekt?

Baue ich aber unter Dann mache “Warte auf Auslöser” den Regensensor ein,
dann wird gewartet, bis der Regensensor “trocken” meldet bzw. der Zeitraum der 6 Stunden “trocken” erfüllt ist.
Der Timeout von 03:00 Stunden prüft den Zeitraum von 10:00 - 13:00 Uhr, richtig?

Mein Wunssch ist es,
dass der Mähvorgang am Montag und Freitag, zwischen 10:00 - 13:00 starten darf,
aber nur wenn der Regensensor seit 6h “trocken” meldet.

Die Fragen zeigen euch schon, dass ich mich wenig auskenne und auf Eure Hilfe setze.
Schon einmal Danke dafür.

Wenn du mit Warte auf Auslöser als Aktion in der Automatisierung arbeitest, nicht. Oder mit mehreren Zeiten als Trigger, wie Ubuntubirdy vorgeschlagen hat.

Wenn der Auslöser auf 10 Uhr steht, wird 3 Stunden gewartet, also bis 13 Uhr.

Dann sollte doch alles passen

Trigger entweder
10 Uhr (und ggf. jede Stunde neu bis 13 Uhr)

Bedingung
Zeit = 10 - 13 Uhr und Mo. bzw. Fr.
Trocken seit 6h

Aktion
Warte auf Auslöser (Timeout 3h) = Trocken für 6h (brauchst du nicht, wenn du mit mehreren Triggern arbeitest)
Dann mähen

Okay,
dann werde ich das mal testen.
Finde aber irgendwie den Punkt “Warte auf Auslöser” nicht:

Am besten du suchst


Wenn du deine Automation fertig hast, poste mal den Yaml-Code.

Gefunden

Danke, Umsetzung erfolgt heute Abend.

Ich würde es doch noch etwas verfeinern bei der Aktion und mit Wenn-Dann arbeiten.

Wenn
Trocken seit 6h

Dann
mähen

Sonst
Warte auf Auslöser (mit Aktion)

Ansonsten kann es zu Problemen kommen, sollte es schon trocken sein.

So, ich habe das jetzt mal so umgesetzt.
Mal schauen ob es läuft.
Anbei mein Yaml - Code:

alias: "Rasenmäher: Mähen für 2h bei über 10°C am Mo & Fr (Freitag Kantenschnitt) neu"
description: ""
trigger:
  - platform: time
    at: "10:00:00"
condition:
  - condition: state
    entity_id: input_select.mahplan
    state: EIN
  - condition: time
    weekday:
      - mon
  - condition: numeric_state
    entity_id: weather.forecast_home
    attribute: temperature
    above: 10
action:
  - if:
      - condition: state
        entity_id: binary_sensor.shelly_regensensor_channel_2_input
        state: "off"
        for:
          hours: 6
          minutes: 0
          seconds: 0
      - condition: time
        weekday:
          - mon
    then:
      - service: landroid_cloud.ots
        target:
          device_id: 9269693156c0acd07b305e02203aac7b
        data:
          boundary: false
          runtime: 120
    else:
      - wait_for_trigger: []
        timeout:
          hours: 3
          minutes: 0
          seconds: 0
          milliseconds: 0
      - service: landroid_cloud.ots
        target:
          device_id: 9269693156c0acd07b305e02203aac7b
        data:
          boundary: false
          runtime: 120
  - if:
      - condition: state
        entity_id: binary_sensor.shelly_regensensor_channel_2_input
        for:
          hours: 6
          minutes: 0
          seconds: 0
        state: "off"
      - condition: time
        weekday:
          - fri
    then:
      - service: landroid_cloud.ots
        target:
          device_id: 9269693156c0acd07b305e02203aac7b
        data:
          boundary: true
          runtime: 120
    else:
      - wait_for_trigger:
          - platform: state
            entity_id:
              - binary_sensor.shelly_regensensor_channel_2_input
            to: "off"
            for:
              hours: 6
              minutes: 0
              seconds: 0
      - service: landroid_cloud.ots
        target:
          device_id: 9269693156c0acd07b305e02203aac7b
        data:
          boundary: true
          runtime: 120
mode: single

Du hast bei Wait for trigger keinen Auslöser ausgewählt, auf den gewartet werden soll. Da gehört der Auslöser “Trocken für 6h” hin.

Danke für den Hinweis. Das habe ich noch nachgetragen.
Ich bin jetzt auf den Freitag gespannt, wenn das Wetter mitspielt,
ob es auch mit dem Kantenschnitt klappt.
Der visuelle Code Editor bietet die Option an.
Aber im Yaml Code steht da nichts.