Bewässerungsautomation hat nicht ausgelöst

Hallo, meine Automation zur Gartenbewässerung hat heute nicht ausgelöst.

Ich habe mir von ChatgGPT helfen lassen und einen Blueprint erstellen lassen. Meiner Meinung nach waren alle Bedingungen dafür heute erfüllt, um 2:30 Uhr, Temp 7 Grad, kein Regen, Regen Vortag 0 mm, Bodenfeuchte 45%.

Habe ich da noch einen Fehler drin ?

blueprint:
  name: Bewässerung 3 Kreise FINAL SAFE + Temperatur + Regen Vortag
  description: >
    Stabile Bewässerungsautomation mit 3 Kreisen.
    Unterstützt: manuellen Start, Zeitplan, Regen (aktuell + Vortag),
    Bodenfeuchte und Außentemperatur – komplett ohne Template-Probleme.
  domain: automation

  input:

    start_time:
      selector:
        time:
      default: "02:30:00"

    weekdays:
      selector:
        select:
          multiple: true
          options: [mon, tue, wed, thu, fri, sat, sun]
      default: [mon, tue, wed, thu, fri]

    pumpe:
      selector:
        entity:
          domain: switch

    kreis_1:
      selector:
        entity:
          domain: switch

    kreis_2:
      selector:
        entity:
          domain: switch

    kreis_3:
      selector:
        entity:
          domain: switch

    dauer_kreis_1:
      default: 15
      selector:
        number:
          min: 1
          max: 120

    dauer_kreis_2:
      default: 15
      selector:
        number:
          min: 1
          max: 120

    dauer_kreis_3:
      default: 10
      selector:
        number:
          min: 1
          max: 120

    regen_sensor:
      name: Regen aktuell
      selector:
        entity:
          domain: sensor

    regen_schwelle:
      default: 3
      selector:
        number:
          min: 0
          max: 50

    regen_vortag_sensor:
      name: Regenmenge Vortag (mm)
      selector:
        entity:
          domain: sensor

    regen_vortag_schwelle:
      name: Schwelle Regen Vortag
      default: 5
      selector:
        number:
          min: 0
          max: 50
          step: 0.1

    bodenfeuchte_sensor:
      selector:
        entity:
          domain: sensor

    bodenfeuchte_schwelle:
      default: 75
      selector:
        number:
          min: 0
          max: 100

    temperatur_sensor:
      name: Außentemperatur
      selector:
        entity:
          domain: sensor

    temperatur_min:
      default: 5
      selector:
        number:
          min: -10
          max: 40
          step: 0.5

    temperatur_max:
      default: 30
      selector:
        number:
          min: 0
          max: 50
          step: 0.5

    aktiv_schalter:
      selector:
        entity:
          domain: input_boolean

    manuell_start:
      selector:
        entity:
          domain: input_button

mode: single

trigger:
  - platform: time
    at: !input start_time
    id: auto

  - platform: state
    entity_id: !input manuell_start
    id: manual

condition:
  - condition: or
    conditions:

      # 🔘 MANUELL → immer starten
      - condition: trigger
        id: manual

      # ⏰ AUTOMATIK
      - condition: and
        conditions:

          - condition: trigger
            id: auto

          - condition: time
            weekday: !input weekdays

          # 🔘 Aktiv-Schalter
          - condition: state
            entity_id: !input aktiv_schalter
            state: "on"

          # 🌧 Regen aktuell
          - condition: numeric_state
            entity_id: !input regen_sensor
            below: !input regen_schwelle

          # 🌧 Regen Vortag
          - condition: numeric_state
            entity_id: !input regen_vortag_sensor
            below: !input regen_vortag_schwelle

          # 🌱 Bodenfeuchte
          - condition: numeric_state
            entity_id: !input bodenfeuchte_sensor
            below: !input bodenfeuchte_schwelle

          # 🌡️ Temperatur
          - condition: numeric_state
            entity_id: !input temperatur_sensor
            above: !input temperatur_min
            below: !input temperatur_max

action:

  # 💧 Pumpe starten
  - service: switch.turn_on
    target:
      entity_id: !input pumpe

  - delay: "00:00:10"

  # 🌿 Kreis 1
  - service: switch.turn_on
    target:
      entity_id: !input kreis_1

  - delay:
      minutes: !input dauer_kreis_1

  - service: switch.turn_off
    target:
      entity_id: !input kreis_1

  # 🌿 Kreis 2
  - service: switch.turn_on
    target:
      entity_id: !input kreis_2

  - delay:
      minutes: !input dauer_kreis_2

  - service: switch.turn_off
    target:
      entity_id: !input kreis_2

  # 🌿 Kreis 3
  - service: switch.turn_on
    target:
      entity_id: !input kreis_3

  - delay:
      minutes: !input dauer_kreis_3

  - service: switch.turn_off
    target:
      entity_id: !input kreis_3

  # 📴 Pumpe aus
  - service: switch.turn_off
    target:
      entity_id: !input pumpe
  • Ich bin da etwas ratlos

  • Gruß Frank

Prüfe mal deine Sensoren ob sie numerische Werte. Wenn du irgendeine Einheit im Wert siehst → numeric_state funktioniert nicht. Abhilfe wäre Template-Sensoren anlegen.

Sensor Muss sein Häufiger Fehler
Regen aktuell 0 0.0 mm
Regen Vortag 0 0 mm
Bodenfeuchte 45 45 %
Temperatur 7 7.0 °C

Ich glaube du hast Recht.

Sieht bei mir wohl so aus, kannst du mir da ein wenig auf die Sprünge helfen mit den Template-Sensoren.

Anlegen und einbinden.

Einstellungen → Geräte & Dienste → Helfer → Template → Sensor

Auf eine Nachkommastelle runden:

{{ states('sensor.temperatur') | float | round(1) }}

als ganze Zahl:

{{ states('sensor.temperatur') | float | round(0) }}

oder so als ganze Zahl:

{{ states('sensor.temperatur') | int }}

Ab ein Sensor Messwerte liefert erkennt man, in dem man sich den Verlauf anschaut.
Ist es ein Graph sind es Messwerte. Ist es nur eine Bunte Zeitleiste, sind es keine Messwerte.

Oder man schaut sich in den Entwicklungswerkzeugen an ob der Sensor eine definierte State Class besitzt. Im Fall der Temperatur wäre die Device Class measurement die richtige.

Sollte die Device Class fehlen, kann man diese nachträglich definieren, dazu muss man nicht zusätzliche Template Sensoren erstellen.

Stichwort hier wäre Customize.

Beispiel dazu, siehe hier:

Was sagt den Trace dazu? Diesen schon mal angeschaut?

Gruß Osorkon