Hallo zusammen,
Bin absoluter newbie und hab gestern den HomeyPro (2023) in Betrieb genommen.
Nun fange ich an mich vorzutasten und stehe vor der ersten Frage.
Folgendes Szenario:
Ich löse einen Flow aus (Webhook). Die eigentliche Aktion soll aber erst ausgeführt werden wenn die Bedingung des Webhooks auch noch nach X Sekunden vorliegt.
Konkret: Wenn sich mein Smartphone ins WLAN einwählt schicke ich (vom Smartphone/Macrodroid) einen Webhook “Daheim”. Dann soll mein Anwesenheutsstatus gesetzt werden.
Soweit so gut. Dass alleine funktioniert prima.
Nun ist es aber so: Ich parke vor dem Haus. WLAN verbindung wird hergestellt und der Webhook geschickt. Auf dem Weg vom Parkplatz zum Haus geht die WLAN Verbindung aber wieder verloren. Wenn ich die Wohnung erreiche wird diese natürlich wieder hergestellt.
Nun möchte ich im Flow das abfangen. Sprich: Die Aktion soll nicht schon beim erreichen des Parkplatzes ausgelöst werden.
Idee ist: Webhook wird nach wie vor beim erreichen des Parkplatzes geschickt und der Flow wird somit gestartet. Die Aktion soll aber erst durchgeführt werden (nach z.B. 60 Sekunden Wartezeit) wenn die Bedingung dann immer noch zutrifft.
Sonst hab ich ja den Effekt dass der Flow bzw. die Aktion beim erreichen des Parkplatzes ausgeführt wird. Beim Weg vom Parkplatz zum Haus (ohne WLAN) wieder auf abwesend gesetzt wird und dann, wenn ich vor der Wohnung stehe, erneut auf Anwesend.
Ich hab jetzt mit der Chronograph-App probiert und mit der Countdowan-App. Bin aber wohl für beide irgendwie zu blöd.
Könnt ihr mir hier auf die Sprünge helfen ?
Viele Grüße
Peter
P.S.: Komme von homee. Wer es kennt: Dort konnte man relativ einfach einstellen ob die Bedingung beim Auslösen von Aktionen nochmal geprüft werden soll
OK. Wenn ich den Flow teste verhält es sich so:
Löse aus. Und nach 30 Sekunden wird die Aktion ausgeführt. Passt also erstmal
Löse ich aber den Trigger am Smartphone aus (sprich schalte WLAN aus/ein) wird die Aktion direkt ausgeführt. D.h. ich bekomme z.B. die Push-Nachricht unmittelbar (als ob es den Timer nicht gäbe).
Die nächste Frage in dem Szenario:
Wenn sich WLAN vernindet (also Webhook wird geschickt.). Sich aber innerhalb des Timers (also die 30 Sekunden in dem Beispiel) die WLAN Verbindung wieder löst: Wird dennoch stupide nach 30 Sekunden die Aktion ausgelöst oder diese dann abgebrochen bis erneut der Trigger (Webhook) ausgelöst wird ?
Sorry, vielleicht blöde Fragen Ich kapiers noch nicht ganz
Ich würde einen Timer starten, wenn zum ersten Mal ein Webhook empfangen wird. Solange es läuft, wird der Fluss nicht fortgesetzt. Wenn Sie also vom Parkplatz nach Hause gehen, wird der Webhook „Peter geht weg“ ignoriert und Sie bleiben zu Hause. Und umgekehrt.
Kleiner (aber störender) Fehler im Bildschirmdruck: Es muss “der Timer läuft NICHT” sein.
Hallo Heinz,
Aber erreiche ich so dass, VOR dem Auslösen der Aktion(en) die Bedingung erneut geprüft wird ? WEbhook wird ausgelöst wenn Smartphone im WLAN. Dann soll eine Zeit X vergehen. Wenn dann das Smartphone immer noch im WLAN ist dann Aktion ausführen. Wenn nicht mehr dann Aktionen NICHT ausführen.
Kann normalerweise nicht sein, außer du hast noch einen Flow, der die Push Nachricht auslöst.
Der Chronograph Timer beginnt die 30 Sekunden wieder von vorne zu zählen, wenn der Timer erneut gestartet wird. Du hast die Möglichkeit den Timer mit einem Flow auch wieder zu stoppen. Ich hoffe, dass ich die Fragen im letzten Abschnitt richtig verstanden habe.
Auf die Antworten meiner Kollegen bin ich jetzt noch gar nicht eingegangen.
Verdammt. Ja. Ich hab noch einen einfachen Flow der genau das macht . Denn muss ich natürlich löschen. Bin halt noch am “spielen”. Mit dem Rest muss ich mich dann später noch beschäftigen. Aber vielen dank euch allen bis hierher erstmal. Melde mich dann (hoffentlich) abschließend nochmal wenn ich es geschafft habe… oder es halt noch nicht hinbekomme
Ich glaube so hast du es gemeint. Wenn ich zwischenzeitlich (also vom Parkplatz zur Wohnung) das WLAN verliere (und dann einen Webhook auslöse) stoppe ich den Timer.
Wenn ich dann in der Wohnung bin und wieder mit dem WLAN verbunden bin löse ich ja erneut den Flow aus, Timer läuft und nach 30 Sekunden werden dann die entsprechenden Aktionen ausgelöst.
Was ich in meinem Kopf noch nicht so ganz “verarbeitet” habe: Die “Und”-Bedingung (wenn Peter anwesend) brauche ich doch eigentlich gar nicht. Wenn der Timer untebrochen wird werden die Aktionen ja gar nicht ausgelöst, sprich: Der Status wird ja dann auch nicht auf “Anwesend” gesetzt.
Ok, damit kann ich ja selbst mal rumspielen.
Mit dem Vorschlag von @Wim_Post muss ich mich auch mal beschäftigen. Aber eines nach dem anderen
Ich denke, meine Lösung gefällt Ihnen besser, wenn Sie manchmal ohne Auto wegfahren oder nach Hause kommen.
Wenn Sie ohne Auto nach Hause kommen, möchten Sie, dass sich die Anwesenheit sofort auf zu Hause ändert und das Licht sofort einschaltet? Und nicht erst nach 30 oder mehr Sekunden.
Wenn ich die Situation richtig verstehe:
Nach Hause kommen:
Parkplatz> WLAN-Verbindung > Webhook zu Hause (1)
Nach der Haustür gehen> WLAN getrennt > Webhook abwesend (2)
Haus betreten > WLAN-Verbindung > Webhook zu Hause (3)
Verlassen:
Haus verlassen > WLAN getrennt > Webhook abwesend (1)
Ins Auto gehen > WLAN-Verbindung > Webhook zu Hause (2)
Wegfahren > WLAN getrennt > Webhook abwesend (3)
In meiner Lösung wird nur Webhook 1 ausgeführt und ein Timer gestartet.
Solange der Timer läuft, wird mit Webhook 2 und 3 nichts getan.