Difference between Trigger and Condition?

General discussions about Automagic and automation in general

Moderator: Martin

Post Reply
User avatar
Stranger
Posts: 4
Joined: 23 Feb 2013 19:05
Location: GER

Difference between Trigger and Condition?

Post by Stranger » 04 Apr 2014 23:18

Hi Martin,

I use Automagic for a long time. But often I don't understand, why I cannot use a trigger instead of a condition. Example: I have issues with an app that switches my screen on, I don't know the reason. Screen turns off after my preferred timeout (5 m). I want to create a flow to turn off the screen. The trigger would be "screen is on", the condition "user is not present" (after pause action). Trigger "User is present = screen is unlocked" is available. But I can't use it for condition y/n. So I tried "screen on" trigger but I can't find a trigger for "user is present/screen unlocked" When using Llama a trigger can get an instant answer and it's a short way to do something. My second phone has a really bad display. I tried an action to handle that: Double tap on screen starts Apex launcher action shortcut. But I couldn't find an Automagic shortcut to start. Llama allows using "flows" like shortcut. Now I use Llama only for this action, all my other things handles Automagic. A further question: Where can I find an action to set screen off? I use a shortcut by a turn screen off app. I'm afraid I could be a little bit stupid. I'm not good using scripts or variables. Often I have to go a longer way for realizing my wishes. Do you understand me? Would you like explain how I can use short ways with Automagic?

Thank you for reading this.
Sylvie

Hardware:
SGS3 i9300 & PAC ROM & KK 4.4.2

====

Hallo Martin,

ich benutze Automagic schon ziemlich lange, da kannten viele Leute die App noch gar nicht :-). Ich liebe den Aufbau, finde aber, dass die Wege manchmal etwas lang sind. Ich habe irgendeine App, die ständig den Screen einschaltet. Es ist dann trotz Screenlock bis zum Timeout eingeschaltet. Automagic soll den Screen ausschalten, wenn er trotz Unlock länger an ist. Das würde funktionieren mit dem Trigger "User is anwesend". Man kann darauf aber nicht direkt mit ja/Nein antworten, sondern muss erst eine Aktion oder Bedingung anschließen. Eine Bedingung, dass der Screen gesperrt ist finde ich aber nicht. So dass ich den Trigger "Display ist an" auch nicht verwenden kann.

Der ideale Weg wäre:
Screen ist an -> 10 s Pause -> Ist der Screen entsperrt? -> ja (nichts tun) / nein (ausschalten)

Bei Llama kann man den Trigger direkt beantworten, dadurch sind sofortige Aktionen möglich. Das wünsche ich mir für Automagic auch. Ich möchte nicht zwei Apps für Automatisierung auf dem Handy haben.

Vielleicht bin ich auch zu umständlich oder
verstehe Automagic nicht, ich weiß es nicht. Variablen und Scripte kann ich nicht so richtig. Vielleicht ginge es dann?

Danke fürs Lesen.
Sylvie

User avatar
Martin
Posts: 4468
Joined: 09 Nov 2012 14:23

Re: Difference between Trigger and Condition?

Post by Martin » 07 Apr 2014 10:28

Hallo Sylvie

Ein Trigger in Automagic wird normalerweise durch ein Systemereignis von Android ausgelöst, 'Benutzer anwesend' wird z.B. an Automagic gesendet, sobald der Benutzer das Gerät entsperrt, ein Ereignis für 'Gerät gesperrt' gibt es meines Wissens nicht. Wenn es in Automagic keine Condition dazu gibt, dann habe ich diese Möglichkeit noch nicht gefunden um den entsperrt-Zustand zu einem beliebigen Zeitpunkt abzufragen.
In diesem Fall könnte man eine Condition mit Scripts nachbauen, indem man z.B. eine globale Variable global_unlocked auf true setzt, sobald 'Benutzer anwesend' erkannt wird und auf false setzt, wenn das Display ausgeschaltet wird. Danach kannst du die Variable in einer Bedingung abfragen.

Dieser Mechanismus ist abhängig von den Systemeinstellungen und funktioniert möglicherweise nicht zufriedenstellend wenn in den Einstellungen 'Sperren erst nach 1 Minute' oder ähnliches aktiviert ist.

Flow1
-Trigger Benutzer anwesend
-Action Script: global_entsperrt = true;

Flow 2
-Trigger Display Status: Aus
-Action Script global_entsperrt = false;

Dein Flow:
-Trigger Display Status: Ein
-Action Pause: 10s
-Condition Expression: global_entsperrt
-->false: -Action Gerät sperren

In der nächsten Version von Automagic gibt es eine neue Condition Keyguard gesperrt, um diese Bedingung auch ohne die ersten zwei Flows abzufragen (Android 4.1+).

Die Action Gerät sperren schaltet auf den meisten Geräten auch das Display aus. Nur Display aus, ohne das Gerät zu sperren, stellt Android meines Wissens nicht zur Verfügung.

Zum Shortcut: Willst du einen Shortcut einer anderen App ausführen (Action Shortcut starten) oder willst du mit einem Shortcut einen Flow in Automagic ausführen (Trigger Shortcut). Beim Trigger musst du zuerst den Trigger in Automagic erstellen, einen Titel eingeben und danach Shortcut installieren klicken oder den Shortcut über den Launcher erstellen (in der Regel klicken und halten auf dem Home-Screen oder via Widgets 'AM Shortcut' hinzufügen und den eben erstellten Shortcut auswählen). Der Flow muss danach noch aktiviert werden.

Freundliche Grüsse
Martin

Post Reply