# Advanced Flows

**URL:** <https://community.homey.app/t/advanced-flows/65203>\
**Category:** 🇩🇪 Deutsch (German)\
**Created:** [June 29, 2022, 3:49am UTC](https://community.homey.app/t/advanced-flows/65203 "2022-06-29T03:49:38Z")\
**Posts on this page:** 20\
**Page:** 5

<div class="post-metadata">

**Author:** ![copiis](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/copiis/32/171978_2.png) [@copiis](https://community.homey.app/u/copiis)\
**Post date:** [August 3, 2022, 5:07am UTC](https://community.homey.app/t/advanced-flows/65203/81 "2022-08-03T05:07:59Z")

</div>

Habe eine Frage wegen den AF.  
Wenn man einen AF Flow Testet wird ja bildlich dargestellt wie er abläuft und ich finde das das Schalten ziemlich langsam verläuft.  
Wird der Flow genau so langsam auch im Echtmodus ausgeführt oder ist das nur wegen der Übersicht?

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [August 3, 2022, 5:52am UTC](https://community.homey.app/t/advanced-flows/65203/82 "2022-08-03T05:52:17Z")

</div>

Da ist nur, damit man das visuell nachvolziehen kann. In echt läuft das so flink wie alle Flows sonst auch.

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [August 3, 2022, 4:02pm UTC](https://community.homey.app/t/advanced-flows/65203/83 "2022-08-03T16:02:34Z")

</div>

Wie @RonnyW bereits gesagt hat.

Ich hatte mal einen AF erstellt, in dem zuerst ein Soundboard Sound über einen Sonos One abgespielt und im Anschluss eine TTS Nachricht ausgegeben werden soll. Im Testmodus hat das wunderbar hintereinander funktioniert. In der Realität wurde beides aber nahezu gleichzeitig abgespielt.

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [August 4, 2022, 10:01am UTC](https://community.homey.app/t/advanced-flows/65203/84 "2022-08-04T10:01:38Z")

</div>

> [@copiis](#):
>
> Der eigentliche “Flowstopper” scheint die Verzögerung zu sein.  
> Habe den Flow mal ein bisschen umgebaut und die LED Karte wird gestartet obwohl sie nach der Deaktivierung erfolgt.
> 
> ![2022-07-08 15.21.39](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/0/a0b3693c2bc7d1ab060df7abbe9a7ce208c3d841.png)

Hallo zusammen, auch an @DirkG , der an der Diskussion auch beteiligt war.  
Die Frage ist schon etwas älter, aber vermutlich immer noch aktuell. Dazu wollte ich zumindest eine kleine Erklärung liefern, warum sich der Flow ggf. anders verhält als erwartet.

In diesem Fall sind mehrere Aktionen “nacheinander” geschaltet. Das muss aber erstmal nichts heißen. Der Ablauf hängt primär davon aub, wie die Aktionen in der App programmiert sind:

- asynchroner Aufruf (die Regel): Dabei wird mit Ausführen der Karte ein asynchroner Aufruf gestartet (z.B. Sound abspielen, Lampe schalten). D.h. die App schickt einfach einen Befehl an das Gerät und damit ist die Aktion beendet. Wann dann die Lampe tatsächlich schaltet ist nicht gewiss. Der Sound wird dann auch irgendwann abgespielt - und zwar parallel zum weiteren Flow-Ablauf.
- synchroner Ablauf (bei Rückgabetoken und auf AdvancedFlow angepasste Aktionen): Dabei “wartet” die Aktionsverarbeitung auf das Ergebnis und beendet die Aktionskarte erst dann. Der folgende Aufruf findet also tatsächlich nach Abarbeitung der vorherigen statt.

Das gleiche betrifft den aufgerufenen Flow. Der Flow wird asynchron gestartet und dessen Aktionen auch. Es kann also sein, dass die Flow-Aktionen vor der Sondausgabe ausgeführt werden oder auch nach Aktivieren der Lampe. Die ersten drei Aktionen (incl. der Flow-Aktionen) laufen also alle irgendwie parallel in ungewisser Reihenfolge ab.

Es wird nur wenige Aktionen geben, die bereits auf AdvancedFlow angepasst sind. Das sind u.a. die Homey-eigenene JSON-Konvertierungen. Die laufen synchron. D.h. die Aktionskarte wartet auf die Verarbeitung und ist erst dann beendet, wenn die Konvertierung abgeschlossen ist und man das Ergebnis als Token im nächsten Schritt weiter verwenden kann.

Ich musste das z.B. bei Blink oder der SQL-App auch ergänzen.  
Beispiel: [[APP][PRO] MySQL-Client - #42 by RonnyW](https://community.homey.app/t/app-pro-mysql-client/62459/42)  
Hier wartet die Aktion “SQL-Befehl ausführen” auf das Ergebnis der Abfrage und liefert die Daten als Token zurück. Die nächste Karte wird erst danach ausgeführt.  
Zuvor lief das auch asynchron und nach der Ausführuing wurde ein Ereignis getriggert.

Bei Aktionen ohne definiertes Ergebnis (Token), sollte man also von einer asynchronen/parallelen Verarbeitung ausgehen. Die Reihenfolge der Verarbeitung ist damit nicht sicher.  
Beide Varianten wären also identisch:

 ![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/6/b6acdb357d82430b2f72d0ebe1ad8eacaadcb5c8.png)

 ![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/5/552f7bef1b8ebfc93f5ccf836742e5eb533729a5.png)

---

<div class="post-metadata">

**Author:** ![Joka](https://avatars.discourse-cdn.com/v4/letter/j/7feea3/32.png) [@Joka](https://community.homey.app/u/Joka)\
**Post date:** [August 4, 2022, 12:51pm UTC](https://community.homey.app/t/advanced-flows/65203/85 "2022-08-04T12:51:31Z")

</div>

Continuing the discussion from [Advanced Flows](https://community.homey.app/t/advanced-flows/65203/84):

Genau, die Asynchronität muss einem bewusst sein, hier noch ein nettes Beispiel wie die AF-Visualisierung einen in die Irre führen kann:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/6/068aba8caabb32419dcfc13c551d9ace240bf67a.png)

Hier kann die Alexa Sprachausgabe (2. Karte) etwas träger sein als die Abarbeitung des gesamten Flows durch Homey. Somit kann die erste Erhöhung der Lautstärke (1. Karte) durch die Erniedrigung (3. Karte) wieder zurückgenommen werden noch bevor die Sprachausgabe erfolgt.

Hinzu kommt, dass auch auf der Serverseite (hier Alexa) die von Homey getriggerten Aktionen (selbst wenn parallel ausgeführt) zusätzlich asynchron laufen.

---

<div class="post-metadata">

**Author:** ![copiis](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/copiis/32/171978_2.png) [@copiis](https://community.homey.app/u/copiis)\
**Post date:** [August 4, 2022, 1:14pm UTC](https://community.homey.app/t/advanced-flows/65203/86 "2022-08-04T13:14:27Z")

</div>

Also sollte man hier gewisse Verzögerungen einbauen.

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [August 4, 2022, 1:50pm UTC](https://community.homey.app/t/advanced-flows/65203/87 "2022-08-04T13:50:11Z")

</div>

Im Prinzip schon. Nur kann es sein, dass die Aktionen sich dennoch unterscheiden, wenn z.B. der externe Aufruf (Sound…) selbst nochmal die Wiedergabe verzögert.  
Schöner wäre es, wenn die App bei der Aktion das Ende abwartet und dann erst beendet. Das geht aber auch nur bei Aktionen, die man beeinflussen kann. Aufrufe von externen APIs gehen dann ggf. nicht, wenn die wiederum selbst asynchron arbeiten.

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [August 5, 2022, 6:26am UTC](https://community.homey.app/t/advanced-flows/65203/88 "2022-08-05T06:26:37Z")

</div>

**Beispiel-Flow: Berechnung der absoluten Luftfeuchtigkeit** innen/außen als Lüftungsvorschlag:

Durch den Bastenvorschlag einer Lüftungstseuerung bei [heise.de](http://heise.de) habe ich mir einen Flow gebastelt, der mir zeigen soll, ob es sinnvoll ist, zu lüften (speziell Kellerräume), oder ob man damit nur noch mehr Feuchtigkeit in den Innenraum holt. Vielleicht ist das auch für euch interessant.

Dazu wird die Temperaturen und Luftfeuchtigkeit innen und außen prüft. Daraus wird mit einer vereinfachten Formel (hatte ich in einem Loxxon-Forum gefunden) die absolute Luftfeuchte (g/m³) berechnet. Macht man das für innen und außen, kann man einfach prüfen, wo die absolute LF größer ist.  
Ist die Außenfeuchte größer, dann wird der Alarm im virtuellen Sensor aktiviert. D.h. dann “nicht lüften!”.

Zuerst habe ich mir zwei virtuelle Sensoren angelegt:  
 ![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/2/926ea0e5cfe78aa289c508c0cb1887b68e1b42f2.png)  
Außen mit LF und Temp. Die Temperatur ist nur informatorisch. Die Luftfeuchte des virt. Sendors wird mit dem Wert der absoluten LF gesetzt.

![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/8/58918be0d96ea55e7b8d78753bc683ef1065c48e.png)  
Innen mit LF und alarm\_contact

Der Flow reagiert jeweis auf Änderung des Sensors. In der Berechnung werden jeweils die globalen Tags des Gerätes verwendet. Wenn sich der Wert eines der virtuellen Sensoren ändert, werden die Werte vergleichen und de Alarm entweder aktiviert oder deaktiviert.

 ![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/d/fd3b6fec229565cc19574db2fc1d6d9b1d823f9d.png)

Hier ist noch die Formel:  
{{100000 \* 18.016/8314.3 \* Luftfeuchtigkeit /100 \* 6.1078 \* 10^((7.5\* Temperatur )/(237.3+ Temperatur ))/( Temperatur + 273.15) }}

Hier noch der Link zur Quelle der Formel (2. Antwort zur Topic):  
[https://loxwiki.atlassian.net/wiki/spaces/LOX/pages/1518403635/Absolute+Luftfeuchtigkeit+berechnen](https://loxwiki.atlassian.net/wiki/spaces/LOX/pages/1518403635/Absolute+Luftfeuchtigkeit+berechnen)

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [September 6, 2022, 10:17am UTC](https://community.homey.app/t/advanced-flows/65203/89 "2022-09-06T10:17:36Z")

</div>

Ich wollte 6 einzelne Standardflows zu einem AF zusammenfügen. Dabei musste ich festgestellt, dass der AF nicht funktioniert, obwohl ich die 6 einzelnen Flows 1:1 übertragen habe (bis tlw. auf die Benennung der Timer).

**Standardflows**

_ **Offen** _

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/a/1a42928cf085872d743b8244932b25baf5f608ac.png) ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/9/69ab756fd3b7082cd01cbf2b1d62ae8dc4498519.png)

_ **Gekippt** _

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/6/56d2c7087737e777c2dcf906a0fc06a384c33ef3.png) ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/4/14b55af1f0a5d84b0ed4a87c3d4e254ff62b396b.png)

_ **Zu** _

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/5/a54c958e1340af2ed72ae4b0a3e6b828fa09c708.png) ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/8/b827531f544a56ce9ce4462ad2c15538ced5dc8d.png)

**Advanced Flow**

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/a/0a4d3b37825f7f3d86eccf482318e7d63bedee0c.png)

Als Gerät kommt ein [Homematic Fenstergriffsensor HmIP-SRH](https://de.elv.com/homematic-ip-fenstergriffsensor-hmip-srh-142800?fs=992526099&c=665) zum Einsatz, der die Stellung des Türgriffes **Offen** , **Gekippt** und **Geschlossen** abfragt und diesen an eine Variable weitergeben soll. Die 2 Sekunden Verzögerung sorgen dafür, dass die Variable **OGK\_Terassentür\_Offen** erst dann gesetzt wird, wenn der Griff auch wirklich in der Endposition angekommen ist.

Wie bereits gesagt, der AF funktioniert nicht! @RonnyW, Du als App Entwickler, hast Du eventuell eine Idee woran das liegen könnte? Müsste die Homematic App ggfs. für AFs angepasst werden?

Übrigens, wenn ich nur die zwei zugehörigen Flows in einen AF übertrage, dann funktioniert der AF.

**Beispiel**

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/d/dd6f321c16f9cff2ec91725a46631ce4ba3d8e58.png)

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [September 6, 2022, 1:14pm UTC](https://community.homey.app/t/advanced-flows/65203/90 "2022-09-06T13:14:09Z")

</div>

Hi,  
sieht alles soweit gut aus. Es ist egal, wieviele Trigger enthalten sind. Der Trigger startet immer seinen “Zweig” innerhalb der Canvas.  
Ist denn die Prüfung der Kondition ok? Es wird ja je nach Variale immer nur ein Trigger auch zum Ende ausgeführt.

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [September 6, 2022, 3:34pm UTC](https://community.homey.app/t/advanced-flows/65203/91 "2022-09-06T15:34:03Z")

</div>

Ja, die Bedingungen 0, 1 und 2 sind korrekt und auch den richtigen Triggern zugeordnet.  
Aber mit der App kann das nicht zusammenhängen?

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [September 6, 2022, 3:53pm UTC](https://community.homey.app/t/advanced-flows/65203/92 "2022-09-06T15:53:05Z")

</div>

Du könntest den Timer etwas länger einstellen und in der App prüfen, ob er auch läuft.

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [September 6, 2022, 4:08pm UTC](https://community.homey.app/t/advanced-flows/65203/93 "2022-09-06T16:08:58Z")

</div>

Mit den Standardflows läuft der Timer, bei dem AF wird der Timer erst gar nicht gestartet. Hätte ich vielleicht vorher schon erwähnen sollen, sorry.  
Deshalb ja meine Vermutung, dass es etwas mit der Homematic App zutun haben könnte, da die Flows überhaupt nicht gestartet werden.

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [September 6, 2022, 4:13pm UTC](https://community.homey.app/t/advanced-flows/65203/94 "2022-09-06T16:13:57Z")

</div>

Das wäre merkwürdig. Die Trigger sind ja die selben, egal ob Standard oder Advanced Flow.  
Ich würde auch keinen Unterschied erwarzen, ob 1 oder 3 Trigger im Flow vorhanden sind. Jeder Trigger läuft als separater Prozess.  
Funktioniert eine Timelineausgabe nach dem Trigger?

---

<div class="post-metadata">

**Author:** ![Mike1233](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mike1233/32/20991_2.png) [@Mike1233](https://community.homey.app/u/Mike1233)\
**Post date:** [September 6, 2022, 4:39pm UTC](https://community.homey.app/t/advanced-flows/65203/95 "2022-09-06T16:39:35Z")

</div>

Ich habe auch eine Reihe von Flows mit der Chronograph-App mit Advanced Flows erstellt, und auch diese werden nicht immer ausgelöst.  
Die Stoppuhr funktioniert.  
Ich und noch eine weitere Person, die ebenfalls im Chronograph topic darüber berichtete.  
[https://community.homey.app/t/app-pro-chronograph-adds-precise-timer-stopwatch-and-transition-functionality-to-homey/18214/204](https://community.homey.app/t/app-pro-chronograph-adds-precise-timer-stopwatch-and-transition-functionality-to-homey/18214/204)

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [September 7, 2022, 5:00am UTC](https://community.homey.app/t/advanced-flows/65203/96 "2022-09-07T05:00:44Z")

</div>

@RonnyW, @Mike1233, ich habe andere AFs mit 10 oder mehr Triggern inklusive der Chronograph App und die laufen alle ohne Probleme. Deshalb suche ich die Ursache die ganze Zeit bei der Homematic App.

> [@RonnyW](#):
>
> Funktioniert eine Timelineausgabe nach dem Trigger?

Aber ich werde das mal ausprobieren und die Chronograph App weglassen. Wenn das auch nicht funktioniert, werde ich mich mal an Athom wenden.

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [September 8, 2022, 12:46pm UTC](https://community.homey.app/t/advanced-flows/65203/97 "2022-09-08T12:46:57Z")

</div>

@RonnyW, @Mike1233, es liegt nicht an der Chronograph App.

Ich habe testweise folgende Flows erstellt:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/e/1eb7e22087bbc83a9706c297ed2cf3ffadecbcb8.png)

Ich erhalte **keine** Benachrichtigungen in der Timeline, wenn ich den Türgriff öffnen, schließe oder auf Kipp stelle. Im Gerät selber wird der Status aber korrekt geändert bzw. angezeigt:  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/c/9/c93732ecf9739835d0e663ce8b3645fa201afb59.png)

Lösche ich 2 Trigger, erhalte ich bei entsprechender Türgriffposition eine Timeline-Benachrichtigung… 🤷🏼‍♂️

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [September 8, 2022, 1:07pm UTC](https://community.homey.app/t/advanced-flows/65203/98 "2022-09-08T13:07:42Z")

</div>

Das klingt nach einem Problem von Athom bzw. den Advanced Flows - oder in der App für den Trigger.

Deine Trigger besitzen einen Parameter. Technisch gesehen werden alle 3 Trigger aufgerufen bei einer Änderung am Gerät und die App filtert dann über den angegebenen Parameter, ob der Trigger ausgeführt werden soll oder nicht.  
Es könnte also sein, dass Homey nur einen der Trigger aufruft (eher unwahrscheinlich) oder evtl. den “falschen” Parameter dem Trigger übergibt (evtl. immer den gleichen). Evtl. nimmt Athom alle Trigger in innerhalb des Canvas in eine Liste auf und wegen dem dreifachen Trigger wird dieser nur 1x aufgenommen. Dann dürfte der Flow IMMER bei einem Parameter ausgelöst werden. #  
Das könntest du mal testen, ob immer eine Variante funktioniert und die anderen beiden nicht.

Das wäre dann eine Supportmeldung an Athom wert.

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [September 13, 2022, 10:49am UTC](https://community.homey.app/t/advanced-flows/65203/99 "2022-09-13T10:49:47Z")

</div>

Hi Dirk, konntest du das noch nachvollziehen?  
Meine Vermutung ist weiterhin, dass Athom die Trigger-IDs zum Flow speichert. Und da die bei den drei Triggern gleich sind (nur die angegebenen Parameter sind abweichend), könnte es das Verhalten erklären. Dadurch würden dann bei identischen Flows immer nur einer davon ausgeführt.  
Du könntest das ja mal in Slack fragen. Vielleicht ist das direkter.

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [September 13, 2022, 10:57am UTC](https://community.homey.app/t/advanced-flows/65203/100 "2022-09-13T10:57:34Z")

</div>

Nein, hatte mich nicht weiter damit beschäftigt, werde Athom aber definitiv noch kontaktieren.

Kann unsereins die Trigger-ID rausfinden?  
Und würde dasselbe Problem nicht auch z.B. bei einem Aqara Opple bestehen?

[Previous page](https://community.homey.app/t/advanced-flows/65203.md?page=4)

[Next page](https://community.homey.app/t/advanced-flows/65203.md?page=6)
