Smarte Bewässerungs-Berechnung mit Home Assistant (ET & Co)

Hi Simon, erst mal wieder ein fettes Danke für deine Videos. Habe mich mal durch oben genanntes Tut. gehangelt und versucht alles mit der neuen Version von Smartiirigaton anzupassen.
Hänge im Moment an der Automation, die die errechneten Werte in die Steuerung übergibt. Habe mich an dein Template gehalten. Problem ist, das sobald ein Wert 0 ist, keine weiteren werte mehr übertragen werden. Wo ist mein Fehler ?
Danke !

alias: Bewässerung-2024
description: ""
trigger:
  - platform: time
    at: "05:00:00"
    enabled: false
condition:
  - condition: or
    conditions:
      - condition: numeric_state
        entity_id: sensor.smart_irrigation_tomate
        above: 60
      - condition: numeric_state
        entity_id: sensor.smart_irrigation_canabis
        above: 60
      - condition: numeric_state
        entity_id: sensor.smart_irrigation_beet_1
        above: 60
      - condition: numeric_state
        entity_id: sensor.smart_irrigation_beet_2
        above: 60
      - condition: numeric_state
        entity_id: sensor.smart_irrigation_beet_3
        above: 60
      - condition: numeric_state
        entity_id: sensor.smart_irrigation_beet_4
        above: 60
action:
  - service: number.set_value
    data:
      value: "{{states('sensor.smart_irrigation_tomate')}}"
    target:
      entity_id: number.relais_tomatenbeet_laufzeit
  - service: number.set_value
    data:
      value: "{{states('sensor.smart_irrigation_canabis')}}"
    target:
      entity_id:
        - number.relais_canabisbeet_laufzeit
  - service: number.set_value
    data:
      value: "{{states('sensor.smart_irrigation_beet_1')}}"
    target:
      entity_id: number.relais_beet_1_laufzeit
  - service: number.set_value
    data:
      value: "{{states('sensor.smart_irrigation_beet_2')}}"
    target:
      entity_id: number.relais_beet_2_laufzeit
  - service: number.set_value
    data:
      value: "{{states('sensor.smart_irrigation_beet_3')}}"
    target:
      entity_id: number.relais_beet_3_laufzeit
  - service: number.set_value
    data:
      value: "{{states('sensor.sensor.smart_irrigation_beet_4')}}"
    target:
      entity_id: number.relais_beet_4_laufzeit
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - service: homeassistant.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: switch.relais_sprinklers
    enabled: false
mode: single

Machs nicht so kompliziert. Schalte das Ventil oder die Steuerung ein .
Danach ein delay mit dem sensorwert. Danach schaltest du aus.

alias: Bewässerungsautomatik [Hinten]
description: ""
trigger:
  - platform: sun
    event: sunrise
    offset: 0
condition:
  - condition: numeric_state
    entity_id: sensor.open_weather_forecast_precipitation
    below: 0.2
  - condition: state
    entity_id: input_boolean.regnerhinten
    state: "on"
  - condition: numeric_state
    entity_id: sensor.smart_irrigation_hinten
    above: 240
action:
  - service: switch.turn_on
    data: {}
    target:
      entity_id:
        - switch.ventil36
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - service: switch.turn_on
    data: {}
    target:
      entity_id:
        - switch.ventil24
  - delay:
      seconds: "{{states(\"sensor.smart_irrigation_vorn\")}}"
  - service: switch.turn_off
    target:
      entity_id:
        - switch.ventil36
    data: {}
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - service: switch.turn_off
    data: {}
    target:
      entity_id:
        - switch.ventil24
  - service: smart_irrigation.reset_bucket
    data: {}
    target:
      entity_id:
        - sensor.smart_irrigation_hinten
mode: single

```
Anbei mal mein Beispiel mit Hauptventil.

mal sehen …wäre ne Option. Die Lösung von Simon gefällt mir im Moment besser. Übrigens die Fehlermeldung ist
Fehler: Value 0.0 for number.relais_tomatenbeet_laufzeit is outside valid range 1.0 - 86400.0
Also sobald ein Laufzeit 0 ist bricht die Automation ab.
Noch ne Frage:
Warum wird jede einzelne Laufzeit zurückgesetzt in Simons Template zurückgestzt `action:

  • service: smart_irrigation.rasen_oben_reset_bucket
    data: {}
  • service: smart_irrigation.himbeeren_reset_bucket
    data: {}`,

statt

`action:

  • service: smart_irrigation.reset_all_buckets
    data: {}`

Versuche jetzt erst mal raus zu finden, welche Werte Sinn mache, Es gibt ja bei jedem meiner gemessen Werte (max/durchnitt/letzter/Summe usw.) Alles sehr geheimnissvoll —

ich resete auch nur das bucket welches auch wirklich bewässert wurde. Ich habe eine Automatisierung für jeden einzelnen kreis, die ich über einen virtuellen schalter aktiv schalte. damit fällt reset_all_buckets für mich aus. wenn du eine Automatisierung druchlaufen lässt, ist das eine Option. Empfehlen würde ich es nicht, da du eventuell auch mal eine Neuanlage in einem Bereich machst und diesen anders bewässern möchtest. Ich lasse auch nicht alle kreise am gleichen tag laufen sondern verteile diese.

sensor.sensor.smart_irrigation_beet_4

sieht etwas merkwürdig aus in deinem Code, ob es der Fehler ist, weiss ich aber nicht.

Smartiirigaton ist ja ne klasse Lösung, ist spiele auch gerade mit rum, nutze aber als eigentliche Bewässerungssteuerung die ESPHome “Sprinkler-Controll”
Ich bekomme es aber nicht hin, das ich die Zeitwerte aus der Smartiirigaton als Laufzeit in die Sprinkler-Controll übernehmen.

Teste ist das ganze in den Entwicklerwerkzeugen / Templates, sind das einwandfreie Zeitwerte

Ich verzweifel da langsam dran, wo der Fehler ist.

Ich werde mal unterschiedliche Fehler mit dem jeweiligen Code in einem neuen Thread zeigen, vielleicht ja jemand von euch ne Idee, wo das Problem liegt.

stimmt …das war ein fehler … danke … Aber dei Automation läuft ja nicht bis dahin, da vorher durch den 0 Wert abgebrochen wird.

Die Bucketresets mache ich jetzt auch in Separaten Automationen . Danke für den Tipp