Bewässerungsdauer im Dashboard ändern

Hallo
Ich möchte eine Bewässerung z.B. um 8 Uhr starten, die Dauer soll 10 Minuten sein. Die Dauer möchte ich aber direkt im Dashboard verändern können. Wie ist das zu bewerkstelligen?

Viele Grüße
Semmy

Erzeuge einen Helfer “Bewässerundsdauer (Minuten)” z.B. als Zähler über die HA GUI, baue diesen in Dashboard ein und benutze diesen dann in der Automatisierung, um die Dauer abzufragen.

Gruß, Lars

Der Helfer ist erstellt, wie bekommt man den dann in eine Automation?

Muss mich korrigieren - mit einem Timer geht es, denke ich, noch einfach.

Hier der Rumpf einer passenden Automatisierung:

alias: Test
description: ""
triggers:
  - trigger: time
    at: "14:19:00"
    id: Start
  - trigger: state
    entity_id:
      - timer.testtimer
    to: idle
    id: Ende
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Start
        sequence:
          - action: timer.start
            metadata: {}
            data: {}
            target:
              entity_id: timer.testtimer
      - conditions:
          - condition: trigger
            id:
              - Ende
        sequence: []
mode: single

Gruß, Lars

Meine Bewässerung ist ein wenig komplizierter, dann muss ich nicht daran denken zu bewässern. Bei mir wird die Bodenfeuchte, Bodentemperatur und die Regenvorhersage ausgewertet und danach bei Sonnenaufgang und bei Sonnenuntergang bewässert. Das ist am besten denn dann können die Pflanzen nicht durch die Sonne verbrannt werden und ich vergesse nicht zu bewässern. Einen Nachbarn brauchen wir wenn wir wegfahren auch nicht, geht alles von alleine.

Wenn auch nicht mehr aktuell, eventuell als Inspiration noch gut zu gebrauchen :sweat_smile:

Ok, den Timer kann ich aber nicht direkt im Dashboard verändern. Ich dachte an einen input-number Helfer. Wie würde das damit aussehen?

Ich habe es so gelöst, die Variablen kann ich im Dashboard alle ändern. Es sind alles Helfer.

Ich bräuchte eigentlich nur die Automation zum Ausschalt-Timer. Wäre das möglich?

Bevor wir weitermachen, wäre wichtig zu wissen, wie genau du den Timer umsetzen möchtest.

Ich nutze – wie im verlinkten Beitrag erwähnt – einen Homematic Hutschienenaktor. Dem übergebe ich vor dem Einschalten die gewünschte Laufzeit in Sekunden. Damit bin ich auf der sicheren Seite, denn:

  • Ich muss keinen Timer in Home Assistant anlegen oder starten ,
  • und falls Home Assistant während der Bewässerung neu startet oder ausfällt, läuft alles trotzdem wie geplant , weil der Aktor selbst weiß, wann er abschalten soll.

Aus meiner Sicht ist das die sicherere Lösung – denn im schlimmsten Fall würde die Bewässerung sonst unkontrolliert weiterlaufen, wenn der „Aus“-Befehl nicht ankommt.

Meine Automation hilft dir nur bedingt , wenn du den Timer stattdessen direkt in Home Assistant anlegen willst oder musst.

Ich habe einen HM-LC-Sw4-DR zum Schalten. Wie übergibt man diesen die Zeit zum Ausschalten?

Das funktioniert soweit schon. Ich suche jetzt nur noch eine Möglichkeit, um den Timer direkt im Dashboard zu verändern.

Ich habe nun einfach noch einen Numerische Helfer ‘TestDauer’ ergänzt, welche ich für das Setzen der Timer-Länge genutzt habe.

alias: Test
description: ""
triggers:
  - trigger: time
    at: "20:34:00"
    id: Start
  - trigger: state
    entity_id:
      - timer.testtimer
    to: idle
    id: Ende
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Start
        sequence:
          - action: timer.start
            metadata: {}
            data:
              duration: "{{states('input_number.testdauer')}}"
            target:
              entity_id: timer.testtimer
      - conditions:
          - condition: trigger
            id:
              - Ende
        sequence: []
mode: single

Im Dashboard mit einer mushroom-Card per Slider direkt änderbar:

oder so mit Schaltflächen

EDIT: Hier das Ganze, wenn die Dauer in Minuten sein soll:

alias: Test
description: ""
triggers:
  - trigger: time
    at: "20:34:00"
    id: Start
  - trigger: state
    entity_id:
      - timer.testtimer
    to: idle
    id: Ende
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Start
        sequence:
          - action: timer.start
            metadata: {}
            data:
              duration: 00:{{states('input_number.testdauer') | int }}:00
            target:
              entity_id: timer.testtimer
      - conditions:
          - condition: trigger
            id:
              - Ende
        sequence: []
mode: single

Gruß, Lars

Vielen Dank, so habe ich mir das vorgestellt.

Viele Grüße
Semmy

ich mache es mit einem rest_command und dem ON_TIME VOR dem einschalten.

configuration yaml:

rest_command:  
     set_rasensprenger_on_time:
    url: "http://192.168.178.62:8181/x.exe?state=dom.GetObject(%22BidCos-RF.PEQ00xxxxxx:3.ON_TIME%22).State({{ duration }}.0)"

in der Automation werden die Minuten ( vom Dashboard Helfer ) in Sekunden umgerechnet:

default:
      - variables:
          laufzeit_min: "{{ states('input_number.laufzeit_rasensprenger') | float(0) }}"
          laufzeit_sec: "{{ (laufzeit_min * 60) | int }}"

und dann der Timer an den Aktor übergeben, bevor der den ON Befehl bekommt, 2 Sekunden Delay.

          - conditions: []
            sequence:
              - data:
                  duration: "{{ laufzeit_sec }}"
                action: rest_command.set_rasensprenger_on_time
              - delay: "00:00:02"
              - target:
                  entity_id:
                    - switch.4_fach_hutschiene_garage_gartenpumpe_ch1
                    - switch.4_fach_hutschiene_garage_rasensprenger_ch3
                action: switch.turn_on
                data: {}
              - data:
                  message: >
                    💧 Rasenbewässerung ist gestartet für {{ laufzeit_min | int
                    }} Minuten.
                action: notify.my_personal_telegram

Wo hast du diese Adresse her bekommen?

Das ist meine HM Instanz, in dem Fall CCU3, RaspberryMatic

Das geht natürlich nur, wenn dein Endgerät eine IP hat (LAN/WLAN?) und per REST-API gesteuert werden kann.

Gruß, Lars