Bewässerung alle 2 Tage

Hallo zusammen.
Ich möchte gern meine Bewäserung für die Blumenkästen auf der Terrasse von Homematic auf Homeassistent umstellen. Dabei bin ich auf ein Problem gestoßen ,was ich bisher nicht lösen konnte. Im Homematic konnte ich einstellen das ein Balkonkasten alle 2 Tage bewässert wir , wie kann ich das über Homeassiatent lösen? Ich kann Wochentage eingeben ,aber das nützt mir nichts . Wie kann ich das Lösen, das alle 2 Tage um 17:00 eine Pumpe gestartet wird?
Der Rest mit Pumpendauer und Verzögerung läuft alles schon.
Ich habe auch schon Zeitraster versucht mit /48 Std ,da kommt immer Zeitfehler.
Danke schon mal für Eure Hilfe
Volker

Du kannst das z. B. in einer Bedingung/Condition abfragen

description: ""
mode: single
trigger: []
condition:
  - condition: template
    value_template: "{{ (now() - as_datetime('19700101T00Z')).days % 2 == 0 }}"
action: []

Hier wird gezählt wieviele Tage es seit dem 01.01.1970 sind und dann gerechnet ob der Wert durch 2 teilbar ist. Dann wird entsprechend ein TRUE oder FALSE ausgegeben. Bei TRUE stimmt die Bedingung und die Automatisierung geht durch.

Auslöser wäre also jeden Tag 17 Uhr
Bedingung siehe oben
Aktion ist das einschalten der Pumpe

1 „Gefällt mir“

Ich würde es mit Hilfe eines Datum & Urzeit Helfer machen.
Dieser gibt den Start der Automatisierung an, also der Trigger.
Und als zusätzliche Aktion in Deiner Automatisierung, diesen Datum & Uhrzeit Helfer dann einfach um 2 Tage vorstellen.
Vorteil wie ich finde. Du kannst den Helfer im Dashboard anzeigen lassen und siehts auch wann die nächste Bewässerung ansteht, kannst das Datum und Uhrzeit bequem ändern, ohne die Automatisierung anfassen zu müssen.

alias: Bewässerung alle 2 Tage
description: ""
trigger:
  - platform: time
    at: input_datetime.bewasserung
condition: []
action:
  - service: input_datetime.set_datetime
    metadata: {}
    data:
      datetime: >-
        {{ states('input_datetime.bewasserung') | as_datetime +
        timedelta(days=2) }}
    target:
      entity_id: input_datetime.bewasserung
mode: single

Zusätzlich könntest Du noch den Wert alle x Tage variable gestalten.
In dem Fall noch einen zusätzlichen Input Number als Helfer, den Du dann anstelle des fixen Wertes “2” verwenden tust.

Gruß
Osorkon

2 „Gefällt mir“

Guten morgen ,
Danke für eure Vorschläge. Ich werde es am Wochenende mal testen und melde mich dann wieder.
Volker

wieder mal topp osorkon. Ich habe die action eingefügt. Ich möchte als Auslöser den Sonnenaufgang behalten und als condition das heutige Datum mit input_datetime.bewasserungtage1 vergleichen. Wenn Kondition erfüllt, dann geht sprinkler an. Wie realisiere ich am einfachsten den Vergleich?

Mach es doch andersrum.
Trigger bleibt der input_datetime und bei Action nimmst du Warte auf Auslöser. Hier kannst du den Sonnenaufgang wählen. Timeout würde ich dann natürlich auch setzen. Kommt natürlich auf den input_datetime an.

Also zum Sonnenaufgang alle x Tage?

Analog zu der festen Uhrzeit, kannst Du auf den nächsten Sonnenaufgang z.B. 2 Tage drauf packen.

{{ state_attr('sun.sun' , 'next_rising'') | as_datetime +
        timedelta(days=2) }}

Gruß
Osorkon

Andersrum finde ich sinniger. ich habe noch einige weitere Konditionen wie Regenvorhersage, Kalkulation aus Smartirrigation usw.

Denke der Vergleich mit dem Datum sollte realisierbar sein.

Der sonnenaufgang hat noch einen Versatz. Ich würde mir wünschen, dass ich eine Kondition habe, die das aktuelle Datum mit dem Date input.datetime vergleicht.

Wenn Du einen Datum Helfer verwenden tust,
Sieht die Bedingung dann so aus:

condition:
  - condition: template
    value_template: >-
      {{ states('input_datetime.bewasserung') == as_timestamp(now()) |
      timestamp_custom("%Y-%m-%d") }}

Gruß
Osorkon

1 „Gefällt mir“

Okay, wenn man alle Informationen kennt, macht das mehr Sinn. Die Infos fehlten bisher

hallo
Ich habe versucht Deinen Code in die Automatisierung einzufügen.Leider bin ich gescheitert.
Könntest Du mir bitte erklären wo ich Deinen Code einfügen muß.
Ich habe bis jetzt einen Datum und Uhzeit Helfer erstellt, mit dem Datum von heute und der Uhrzeit 17:00 Uhr. Dieser Helfer startet die Automatisierung unter “wenn”.
Aber wo kommt dein Code hin?
Danke für die Hilfe
Volker

Poste mal Deinen aktuelle Automatisierung und die Entität Deines Datum Helfers.

Gruß
Osorkon

So ich habe im Moment den Code von sirector verwendet und das funktioniert auch .
Danke dafür.
Mich hat nur Dein Code interessiert, mit der Ansicht auf dem Dasboard das hat mich interessiert… Die jetzige Config sieht so aus.


der Helfer sieht so aus
Helfer
Ich hoffe Du kannst damit was anfangen.
Volker

Als Yaml Bitte. Screenshots sind zwar schön anzusehen, aber nicht wirklich zu gebrauchen.

Und die Entity-ID des Helfers bitte mit angeben input_datetime.xyz den Du verwenden tust.

Gruß
Osorkon

Ok hier der Code ich habe es jetzt mal versucht, vielleicht ist es so richtig?

alias: Bewässerung 4 neu
description: ""
trigger:
  - platform: state
    entity_id:
      - input_datetime.bewasserung_2_tage
condition:
  - condition: template
    value_template: |-
      alias: Bewässerung alle 2 Tage
      description: ""
      trigger:
        - platform: time
          at: input_datetime.bewasserung_2_tage
      condition: []
      action:
        - service: input_datetime.set_datetime
          metadata: {}
          data:
            datetime: >-
              {{ states('input_datetime.bewasserung_2_tage') | as_datetime +
              timedelta(days=2) }}
          target:
            entity_id: input_datetime.bewasserung_2_tage
      mode: single
action:
  - service: switch.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: switch.pumpe
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - service: switch.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: switch.blumen_ventil_ch4
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - service: switch.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: switch.blumen_ventil_ch4
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - service: switch.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: switch.pumpe
mode: single

Mein Helfer heißt
“input_datetime.bewasserung_2_tage”
Danke schon mal für die Hilfe.
Interessant wäre jetzt noch, wie ich auf dem Dashbord sehen kann, wann die nächste Bewässerung fällig ist.?

Da hast ordentlich was durcheinander gebracht.
Einfach nur das vorstellen des Helfers um 2 Tage als zusätzliche Aktion hinzufügen.
Der Auslöser bleibt der die Uhrzeit und das Datum des Helfers.

alias: Bewässerung 4 neu
description: ""
trigger:
  - platform: time
    at: input_datetime.bewasserung_2_tage
condition: []
action:
  - service: input_datetime.set_datetime
    metadata: {}
    data:
      datetime: >-
        {{ states('input_datetime.bewasserung_2_tage') | as_datetime +
        timedelta(days=2) }}
    target:
      entity_id: input_datetime.bewasserung_2_tage
  - service: switch.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: switch.pumpe
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - service: switch.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: switch.blumen_ventil_ch4
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - service: switch.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: switch.blumen_ventil_ch4
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - service: switch.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: switch.pumpe
mode: single

Gruß
Osorkon

1 „Gefällt mir“

Danke ,ich habe es befürchtet ,das es nicht richtig war.
Jetzt noch meine letzte Frage ,wie kann ich jetzt auf dem Dashboard sehen wann die nächste Bewässerung fällig ist ? Wenn ich den Helfer auf dem Dashboard anzeige,steht das heutuge Datum mit der Uhrzeit.
Volker

Du musst den Helfer einmalig auf ein Datum und Urzeit in die Zukunft stellen.
Wenn die Automatisierung zu dem Zeitpunkt ausgelöst wird, wird als Aktion auch der Helfer um 2 Tage vorgestellt.

Gruß
Osorkon

Prima,
ich werde es mal nächste Woche testen ob es so funktioniert .
Ich danke Dir erstmal für deine Hilfe!! :+1: :+1:
Volker

1 „Gefällt mir“