Page 1 of 1

Variable als Bedingung?

Posted: 10 May 2016 18:31
by Crosschecker
Hallo Community,
ist es möglich, dass man eine Variable als Bedingung am Anfang eines Flows setzt? Also zb. wenn die Variable "Baum" den Wert 1 hat soll der folgende Flow ausgeführt werden. Mit welchem Block kann ich den Wert einer Variable verändern?
Danke schon mal im Vorraus

Crosschecker :)

Re: Variable als Bedingung?

Posted: 10 May 2016 19:56
by Martin
Hi,

Du kannst eine Variable mit einer Action Script verändern, z.B. so:

Code: Select all

meine_variable = 123;
Mit einer Condition Expression kannst du eine Variable prüfen und abhängig vom Wert andere Actions ausführen, z.B. so:

Code: Select all

meine_variable == 123;
Bitte beachte das doppelte Gleichheitszeichen. Ein einfaches Gleichheitszeichen weist einen neuen Wert einer Variablen zu, ein doppeltes Gleichheitszeichen vergleicht den Inhalt der Variable auf der linken Seite mit dem Wert auf der rechten Seite und gibt true oder false zurück.

Du könntest auch mit der Condition Expression eine Variable prüfen und abhängig vom Resultat mit der Action Flows ausführen einen passenden Flow ausführen.
Es wäre auch möglich, die Action Flows ausführen mit einer Variable zu parametrisieren, z.B. wenn du als Flow folgenden Namen angibst Flow_{meine_variable}. Wenn in der Variable meine_variable der Wert 123 steht, würde die Action den Flow mit Namen Flow_123 ausführen.

Freundliche Grüsse
Martin

Re: Variable als Bedingung?

Posted: 11 May 2016 11:49
by Crosschecker
Hi Martin,
danke für die schnelle Antwort, wirklich super hier :)
Für was ist dann eig. der Trigger "globale Variable" gut? Bzw. wie verwende ich ihn?
Gibt es eig. auch einen undefinierten Trigger? Also das er nur getriggert wird, wenn ich ihn manuell ausführe? Nur mal so nebenbei: Ist es möglich, den Mechanismus, der wenn sich ein Flow zu oft wiederholt, ihn abbricht und deaktiviert, auszuschalten?

MfG

Crosschecker ;)

Re: Variable als Bedingung?

Posted: 11 May 2016 18:58
by Martin
Hi,

Der Trigger Globale Variable wird dazu verwendet, um einen Flow auszuführen, wenn sich eine globale Variable verändert. Das kann zum Beispiel dann nützlich sein, wenn ein Umschalt-Widget eine boolsche Variable zwischen true und false umschaltet. Der Flow kann dann auf die Änderung der Variable reagieren und beispielsweise etwas ein- oder ausschalten.

Du kannst beim Flow den Trigger einfach weglassen, dann führt Automagic den Flow nicht automatisch aus, aber du kannst den Flow trotzdem über Flow ausführen starten. Der Flow muss dazu aber trotzdem eingeschaltet sein.

Den eingebauten automatischen Stopp kannst du beim Flow editieren über Menü->Optionen->Automatischer Stopp einstellen und z.B. für einen Flow auf Spezifisch mit 6000 pro Minute ändern. Theoretisch könntest du die Limite auch global in den Einstellungen von Automagic erhöhen. Davon würde ich allerdings abraten, da es oft ein Fehler ist, wenn ein Flow sehr oft ausgeführt wird.

Freundliche Grüsse
Martin

Re: Variable als Bedingung?

Posted: 11 May 2016 20:30
by newturn
hi,

ich klink mich kurz mal ein:

Kann ich bei dem Trigger "Globale Variable" eine Bedingung mit einfügen? Kann ich auch gleich zwei Globale Variablen hintereinander abfragen (global_screen == "on" and global_orientation == "face up")?

Denke das passt hier gut ins Thema.

Re: Variable als Bedingung?

Posted: 12 May 2016 11:19
by Crosschecker
Hi,
danke für Antwort :)
kann ich auch den durch den Wert eines Integers verwenden? Also, dass zb. der Flow ausgeführt wenn die Variable global_XYZ den Wert 1 hat. Wenn ja, was muss ich dazu eingeben?

MfG

Crosschecker

Re: Variable als Bedingung?

Posted: 12 May 2016 16:50
by newturn
das war doch auch meine Frage ;)

Aber damit du erstmal eine Lösung hast:
trigger: globale variable
condition -> expression: globale variable == 1
ja: deine aufgaben