Gibt es eine Möglichkeit in einem Flow soeas wie einen âWartepunktâ einzubauen ? Timer wĂ€re eher eine âNotlösungâ da eben die Zeiten nicht unbedingt fix sind.
Szenario: Saugroboter soll durch entsprechende Trigger RĂ€ume A-D saugen. Hat er dies erledigt (und ist jemanf im Homeoffice) kommt dann eine Push mit Abfrage. SinngemÀà âRĂ€ume gesaugt. Jetzt auch BĂŒro saugen oder störts ?â
Soweit so gut. Was ich aber nicht hinbekomme ist dass der Roborock eben erst alle RĂ€ume saugt und erst wenn dies erledigt ist die Push kommt.
Der Flow rauscht halt immet direkt durch. Also hÀtte ich gerne dass der Flow eben stehen bleibt bis RÀume A-E gesaugt sind. Dann weiterlÀuft und die Push schickt.
Nur finde ich keine Möglichkeit einen Flow in einen bestimmten Schritt einfach anzuhalten bzw. âwartenâ zu lassen bis alle Bedingungen erfĂŒllt sind (also eben erst weiterlaufen wenn RĂ€ume A-D gesaugt sind).
Die Flows rattern halt durch. Sowas wie klassische Schleifen (so lange bis Bedingung erfĂŒllt loopen) gab ich nicht gefunden bzw. das was ich gefunden hab (Loops-App) versteh ich nicht wirklich
Hast du denn in der Robo-App einen Trigger, wenn er mit dem ersten Teil fertig ist? Du brauchst ein Event/Trigger, um eine neue Aktion im Flow auszulösen.
Es wÀre also z.B. möglich:
Trigger1: Flow starten und Saugplan 1 auszufĂŒhren
Trigger2: wenn fertig, dann Push-abfrage
Wenn Push bestĂ€tigt, dann Saugplan 2 ausgĂŒhren
Dann brauchst du auch kein Warten. Die Beendigung des ersten Saugdurchgangs wĂ€re dann der Auslöser fĂŒr Teil2.
Eine Bedingung reicht nicht aus. Die wird nur geprĂŒft im aktuellen Durchlauf. Du brĂ€uchtest also einen Timer, der alle paar Minuten startet und die Bedingung prĂŒft.
@RonnyW hat mMn schon den richtigen Weg erklĂ€rt. Anstelle alle RĂ€ume inkl. BĂŒro in einen Saugplan zu packen, das BĂŒro auĂen vor lassen. Und erst das BĂŒro saugen lassen, wenn die Frage-Push mit Ja beantwortet wurde.
Wie alsoschon geschildert. Soll Saugen, erstmal alles auĂer einen Raum (kommt ĂŒber Bedingungen). Wenn dieser RĂ€ume alle gesaugt sind sollte er in eine Warteposition fahren und eine Push-Abfrage erfolgen ob er nun den letzten Raum saugen soll oder eben nicht (weil vielleicht gerade störend). Wollte eher nicht dass er nach Abschluss von "der ersten Aufgabe zur Dockingstation zurĂŒck fĂ€hrt und absaugt.
Habe aber bemerkt das die Karte âis Cleaningâ oder umgekehrt nicht funktioniert. Der Status bleibt unverĂ€ndert auf âNeinâ. Auch wenn gerade eine Reinigung lĂ€uft. Damit scheitert letztendlich grundlegend obiges Konstrukt. (Scheint ein Problem mit der RobrockCloud-App zu sein).
Sprich: Ich werde wohl so oder so in Richtung des Ansatzes von Ronny gehen mĂŒssen.
Wobei hier werde ich auch erstmal schauen mĂŒssen ob ein Status/Trigger-Karte der App (Cleaning Finished) ĂŒberhaupt funktioniert. Wenn eine laufende Reinigung scheinbar nicht erkannt wird dann auch deren Ende nicht was diesen Trigger auch erledigt haben dĂŒrfte.
Nur als eher technische ErklĂ€rung zum besseren VerstĂ€ndnis des AblaufsâŠ
Du startest die Reinigung in deinem Flow. Das wird wohl ein API-Aufruf sein an die Cloud. D.h. dein Robo beginnt ein paar Sekunden spÀter mit der Reinigung.
Nach Senden dieser Aufforderung ist diese Flowkarte âfertigâ und die nĂ€chste wird verarbeitet (die PrĂŒfung). Zu dem Zeitpunkt hat der Robo die Aufforderung von der Cloud noch nicht erhalten und ist noch nicht am Reinigen.
Solche Karten wie âbeginne âŠâ schicken i.d.R. nur den Befehl ab. Die Reinigung startet dann irgendwann (oder auch nicht, wenn der Robo einen Fehler hat). Das hat keinen Einfluss auf den Flow.
Man braucht fĂŒr solche parallelel/zeitversetzten Dinge also immer einen zweiten Trigger, also z.B. âReinigung beendetâ. Dann kannst du einen zweiten Flow starten.
Ich will ja nur bei diesem spezielln Strang des Flows auch die Push-Abfrage bekommen und nicht jedesmal wenn die Reinigung abgeschlossen ist (also durch andere StrÀnge des Advanced Flows)