Dauer aus Variable nutzen

Wurstsemmel

New member
Hallo,

ich komme mal wieder mit einem Problem nicht weiter. Der konkrete Fall ist, dass ich einen Futterautomat für einige Sekunden mehrfach am Tag laufen lassen will. Die jeweilige Dauer habe ich bereits in Sekunden in einer Variable (Helfer - Number) über eine Slider einstellbar. Ich würde nun gerne mehrfach am Tag eine Automatisierung starten, die für die vorgegebene Dauer dann den Futterautomat aktiviert. Aber wie kann ich diese Variable dann bei der Berechnung der Endzeit nutzen? Es ist mir klar, dass ich die Endzeit auch bei jeder Automatisierung manuel eingeben könnte. Da nsich die Futterdauer aber temperaturbedingt häufig ändert wäre das sehr umständlich.

Ich bin gespannt wie so etwas tatsächlich möglich ist.

VG Kai
 
Am einfachsten nutzt Du dafür einen Timer. Deine Automation initialisiert den Timer mit dem Wert Deiner Variable.
Startet den Futterautomaten und ist fertig. Nach Ablaut des Timers stoppst Du den Futterautomaten.
 
An dem Schritt "Deine Automation initialisiert den Timer mit dem Wert Deiner Variable." scheitert es bisher bei mir. Ich kann zwar beim "Timer: Start timer" ein Target hinzufügen, bekomme aber nirgendwo die Möglichkeit auf meine erzeugte Variable "Dauer" zuzugreifen.
 
So zum Beispiel...

YAML:
variables:
  DDauer: "01:30:00"

action:
  - service: timer.start
    target:
      entity_id: timer.mein_timer
    data:
      duration: "{{ DDauer }}"
 
Egal was ich mache ich bekomme es leider nicht zum Laufen. Wenn ich den Code von oben rüberkopiere bekomme ich direkt ein Syntaxfehler reklamiert, er zeigt mir aber auch unter Werkzeuge Aktionen nicht an, was genau falsch ist.
Ich habe es auch mal einfach mit dem delay Befehl versucht, aber das sieht so aus, als ob der garkeine Variable akzeptiert.
Vermutlich müsste ich mich mal mit der YAML Syntax genauer auseinandersetzen, ist gerade nur etwas knapp mit der Zeit.
 
Für das Allermeiste schon... ich bin Monate ausgekommen ohne etwas in YAML zu machen.
Ich sehe das so, dass man wenn man "erweiterte" Wünsche zu entwickeln beginnt, man im Source schneller ist.
 
Wirklich verrückt: Nachdem ich ewig ohne Erfolg rumprobiert hatte, habe ich jetzt einfach mal ChatGPT wie folgt befragt:
"wie kann ich bei home assistant eine zeit aus einer Variable als dauer für eine automatisierung nutzen"

Habe folgende Antwort erhalten:
Methode 1: Nutzung eines Nummern-Helfers (input_number)
Wenn du eine Zahl auf dem Dashboard eingibst (z. B. eine Minutenzahl über einen Schieberegler), übergibst du den Wert als Template.

Variante A: Als Verzögerung (delay) in den Aktionen
Möchtest du innerhalb deiner Automatisierung eine bestimmte Anzahl an Minuten warten, fügst du eine Aktion vom Typ Verzögerung hinzu, wechselst bei dieser Aktion über die drei Punkte oben rechts zu In YAML bearbeiten und nutzt folgenden Code:

yaml
delay:
minutes: "{{ states('input_number.deine_wartezeit') | int }}"


Ich habs damit umgesetzt und es hat auf Anhieb funktioniert. Was mich dabei nachdenklich macht: Die Lösung weiter oben war bestimmt auch korrekt aber ich habe es nicht geschafft das entsprechend umzusetzen. Die KI hat es geschafft mir eine maximal einfache Lösungsmöglichkeit so zu erklären, dass ich auf Anhieb zum Erfolg gekommen bin.

Irgendwann unterhalten wir uns vermutlich nur noch mit Computern :unsure:
 

Neueste Beiträge

Letzte Anleitungen

Statistik des Forums

Themen
8.281
Beiträge
82.044
Mitglieder
9.033
Neuestes Mitglied
Hendrik
Zurück
Oben