Strategie für eine Automatisierung / Ablaufsteuerung ?

HaUsr23

Member
Hallo zusammen,

ich bin mit Automatisierungen / Ablaufsteuerungen, insbesondere in/mit YAML, in HA nicht so sehr vertraut und suche für mein Problem eine Strategie mit der ich es lösen kann.

Und zwar möchte ich meine Waschmaschine und Spülmaschine zeitlich oder bei genügend Solarenergie starten, entweder nur eine oder beide Maschinen, dann aber nacheinander.
Die Waschmaschine allerdings immer zuerst. Soweit die Randbedingungen.

Das alles soll gemäß dem Ablaufdiagramm funktionieren:
(Die Zustände Waschen, Spülen, Dauer kurz, 75° liegen intern schon als input_boolean vor.)


Ablauf.jpg

Die Vorwahl, ob nach Zeit oder Solarenergie gestartet wird, ist in "GUI" Automatisierungen bereits gelöst.
Die Auslösung des obigen Ablaufs nach Zeit oder Solar funktioniert, nur alles unterhaltb von Start ist mein Problem.
Wie kann ich den obigen Ablauf z.B. in YAML lösen ?
Geht das so überhaupt ?
Muss ich mir 4 Timer anlegen oder kann ich in YAML einen Timer immer mit anderen Zeiten neu starten ?
Würde ich es besser anders machen (z.B. mehrere Automatisierungen in GUI oder YAML) ?

Viele Fragen für einen Sonntag Abend :)

Ich würde mich über Ideen sowie Vorschläge und eventuell Hilfe sehr freuen.
 
Wie kann ich den obigen Ablauf z.B. in YAML lösen ?
Da noch keiner geantwortet hat, antworte ich Dir jetzt mal (als blutiger Laie 😅 )

Gehen wird das sicherlich, wird nur entsprechend komplex. Im Grunde genommen, kannst Du abbilden was und wie Du willst, wobei es in Deinem Fall wohl über verschachtelte if-then-else-Abfragen gehen könnte. Ob das es eine schlauere Lösung gibt (vermutlich?), kann ich Dir leider nicht sagen, wie gesagt... keine Ahnung und so. Du hast Dir ja schon einen PAP (Programm-Ablauf-Plan) definiert, das kann man halt so machen, wird nur entsprechend lang (kannst dann aber auch einiges 1:1 kopieren).

Aber wie gesagt, ich vermute einfach mal, dass es schon irgendwie "schlauer" geht, kann mir nicht vorstellen, dass man alles doppelt und dreifach schreiben muss, aber... hab halt auch keine Ahnung, vielleicht weiss ja hier noch jemand mehr dazu :)
 
Tja, danke für die mentale Unterstützung, auch wenn ich dadurch technisch nicht weiter komme (y)

Hatte die Hoffnung das sowas ähnliches schon mal in irgend einer Art gelöst wurde.
 
Naja, müsste ich sowas machen, wenn es bei mir ganz einfache verschachtelte Wenn-Dann-Abfragen...

Code:
IF
  Bedingung 1
THEN
  IF
    Bedingung 2
  THEN
    IF
      Bedingung 3
    THEN
      IF
        Bedingung 4
      THEN
        Aktion XY
      ELSE
        nix...
    ELSE
      nix...
  ELSE
    nix...
ELSE
  nix...

Da ich es persönlich nicht besser weiss, würde ich es halt so machen (ggf. kann man "else" auch weg lassen, keine Ahnung)... Bedingung erfüllt = Ja, Bedingung nicht erfüllt = Nein. Laut Deinem Programmablaufplan ergibt sich dann eben eine gewisse Komplexität. Allerdings würde ich das persönlich einfach aufteilen in waschen und spülen. So lässt sich mitunter einfach am Ende des Waschvorgangs ein neuer Check anstosse, der prüft, ob danach noch Energie für's spülen vorhanden ist und dann den Spüljob anstösst (wobei der halt auch einzeln laufen können muss, deswegen würde ich das einfach einzeln machen).

1) waschen (danach prüfen, ob Energie vorhanden ist und dann den Spülvorgang auslösen)
2) spülen

Innerhalb dieser beiden Dinge dann einfach mit den Wenn-Dann-Abfragen arbeiten. Wenn Du die beiden Sachen einzeln machst, wird das auch nicht so ewig komplex.
 
Also gefühlt muss das Alles sicherlich in mehrere Automationen aufgeteilt werden die dann prüfen und Timer starten, die dann wieder eine Automation triggern.
Ich muss aber noch lernen wie ich eine Automation in YAML anlege, die if then else Zweige nutzt, dass ist mir noch nicht klar. Und die Automation muss dann auch noch in YAML einen Timer anstoßen.

Meine Idee wäre:
1. Automation Waschen: prüft ob gewaschen werden soll und startet ggf. den Timer 1 oder triggert die Energie Automation
2. Automation Energie: prüft auf genug Energie und triggert ggf. die Spül Automation oder beendet
3. Automation Spülen: startet Timer 2 und spült
Timer 1: triggert Automation Energie
Timer 2: berndet kompletten Ablauf

Ich glaube alles in einer Automation und einem Timer geht nicht, da stimme ich zu.

Ggf. sollte ich mal nen neuen Thread bzgl. If / then / else / timer in YAML Automation anlegen.
 
Ja, richtig, in der GUI zusammenklicken geht, aber Du schreibst es ja, diese Bedingungen sind IF THEN, es fehlt das ELSE.
Dann müsste ich für jede Entscheidung 2 Automationen machen, eine IF Waschen = An THEN tu was und eine IF Waschen = Aus THEN tu was anderes.
Ich hatte die Hoffnung es geht mit einer Automation, so langsam sinds doch schon einige Automationen geworden und es wird unübersichtlicher mit weiteren von denen.
Aber natürlich wäre das eine Lösung die wahrscheinlich zum Ziel führt.
Ich hatte ich den Thread geöffnet um eine Strategie zu finden die mit möglichst wenigen Automationen ans Ziel führt.
 
nimmst du Aktion wenn-dann und klickst else hinzufügen.

Oder schaust dir den Link oben an.
 
Da muss man aber auch erst mal drauf kommen :)
Finde ich beim Anlegen einer Automation aber auch irgendwie komisch und nicht ganz intuitiv:
1. Einen/Mehrere Auslöser anlegen
2. Bedingung(en) prüfen (wo es kein else gibt)
3. Aktion(en) ausfüren bei denen es dann Bedingungen mit if then else gibt

Kann natürlich sein, dass ich da den tieferen Sinn noch nicht verstanden habe. 🤔
 
1. irgendwas muss passieren, damit die A. anspringt (es ist zu kalt, Sonne geht unter, du kommst nach hause...)
2. prüfen ob z. B. zu kalt und jemand@home
3. Action mit Ablaufsteuerung usw.
 
So, erste Test waren erfolgreich, ich habe mir ein paar Test Entitäten angelegt und das alles dann mit 3 Automationen hinbekommen.
Diese habe ich in der GUI erstellt, nachdem ich ja jetzt weiß, dass man dort recht problemlos if/then/else Verzeigzungen anlegen kann :)
Da es ja auch Wartezeiten über die GUI gibt brauche ich auch keine Timer-Helfer mehr.
Somit ist es doch einfacher geworden als erwartet.
Danke für die Anregungen und Tipps !
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.124
Beiträge
59.513
Mitglieder
6.180
Neuestes Mitglied
APPLE-I-SEE
Zurück
Oben