Easer Smartphone Automation für LineageOS und Android. Beispiel für OpenVPN, SIP Softphone, Nexttracks / Owntracks

Auf der Webseite finden sich bereits viele Interessante Einträge zum Setup der Asterisk VoIP Telefonie mit der Möglichkeit die Nebenstelle, parallel zu anderen Nebenstellen, auch am Handy mitzuführen. Das komplette Setup natürlich abgesichert durch eine Verbindung mit OpenVPN um keine Mithörmöglichkeit zwischen Softphone und VoIP Server zu ermöglichen.

Weiters wurde ein Update zur selbst gehosteten OwnTrack/Nexttrack Lösung veröffentlicht, welche ermöglicht Tracking Profile, ohne Daten an Dritte zu senden, zu erstellen.

Auch die Verwendung von Easer zur Automatisierung von App Start- und Stopp-Vorgängen wurde im Telefonie Beitrag bereits angeführt und das Setup beschrieben.

Nun erreichten mich aber doch viele Fragen mit Bezug zu Easer und das ist der Grund für einen eigenen Beitrag.

Die Aufgabenstellung:

Mit Easer sollten die laufenden Apps am Smartphone, je nach Standort geändert werden. Dazu gab es folgende Vorgaben:

Home WLAN

Bei Verfügbarkeit des Home WLAN’s sollte folgendes umgestellt werden:

  • Da die eigenen Server im Haus über das Home WLAN direkt erreichbar sind, Stop der OpenVPN Verbindung bei Verbindung mit dem Home WLAN.
  • Da es keinen Sinn macht, Nexttrack GPS Positionen, während des Aufenthaltes im Home WLAN an den Recorder zu übermitteln, Stop Nexttrack App
  • Linphone verbindet sich nach Trennung des OpenVPN automatisch wieder mit dem Asterisk Server, d.h das Telefon bleibt durchgängig verfügbar.

Andere Datenverbindung

  • Bei Verlust der Verbindung mit dem Home WLAN soll automatisch eine OpenVPN Verbindung aufgebaut werden.
  • Danach soll Nexttrack gestartet werden um die Bewegungsdaten an den Recorder zu übermitteln.
  • Linphone baut, gesichert durch das OpenVPN seine Verbindung wieder auf und damit ist die Nebenstelle erreichbar.

Generell

  • Im Grenzbereich des WLAN sollen On/Off Loops durch WLAN on/off verhindert werden.

Setup für coole SmartPhone Pro Benutzer

Hier kommt jetzt das Sahnehäubchen eines Smartphone Setups für wirklich coole Benutzer, welches Dinge automatisiert und einem nie mehr aktivieren, oder deaktivieren vergessen lässt.

SmartPhone Pro Benutzer bewegen sich in vielfältigen Netzwerken und eines der Dinge, welche am meisten aufregen, sind Routinetätigkeiten, welche automatisierbar wären. Passend dazu wurde Easer gefunden, welcher ein Open Source Automatisierungstool für LineageOS und Android ist. Die Installation kann, wie immer bevorzugt, über F-Droid erfolgen. Easer benötigt keine Google Play Services!

Automatisches Umschalten des OpenVPN basierend auf dem, verbundenen Netzwerk

Annahme: Der SmartPhone Pro Benutzer bewegt sich in einem WLAN, welches den VoIP Server direkt erreicht und in anderen Netzen, welche das VPN für den Zugang benötigen. Hauptproblem dieser Routinetätigkeit, das Aktivieren und Deaktivieren des VPN wird natürlich oft vergessen und damit gehen Anrufe verloren.

Aufgrund der Internationalität sind die Details in Englisch angeführt. Die Sprache kann zum besseren Abgleich auch im Easer auf Englisch umgestellt werden:

  • Open->Settings
    • Enable‚ “Use root features”
    • Check “Activated skills”, where the minimum is: Wi-Fi, Connectivity Type, Wi-Fi Connection

Das Test WLAN hat SSID AT435020

  • Open->Data
    • Create Condition -> Choose a Condition -> WiFi Connection
    • Condition Title: AT435020
    • Match SSID: Your AT435020

  • Create Event -> Choose an Event -> Connection Type
    • Event Title: Connected
    • Selected Types: Wi-Fi and Mobile

  • Create Profile:

    • From plus(+) icon select “Run Command”
    • Profile Title: Profile Leaving Home
    • command: am start -a android.intent.action.MAIN -n de.blinkt.openvpn/.LaunchVPN -e de.blinkt.openvpn.shortcutProfileName PROFILENAME
  • Create Profile:

    • From plus(+) icon select ‚Run Command’
    • Profile Title: Profile Coming Home
    • command: am start –user 0 -n de.blinkt.openvpn/.api.DisconnectVPN

  • Create Pivot

    • Script Title: Online
    • Profile:
    • Event: Connected
    • Online->Add child
      • Script title: NET-AT435020
      • Profile: Profile Coming Home
      • Condition: AT435020
      • Reverse Scenario: disabled
    • Online->Add child
      • Script title: NET-Insecure
      • Profile: Profile Leaving Home
      • Condition: AT435020
      • Reverse Scenario: enabled
  • Finally

    • Start Rules

Wenn alles richtig gemacht wurde dann startet sich OpenVPN automatisch, sobald das Home WLAN nicht mehr verfügbar ist und deaktiviert sich bei der Rückkehr. LinPhone meldet sich sofort nach dem Wechsel neu an und somit ist die Funktionalität, ohne jeden manuellen Eingriff immer gegeben. Eine wirklich coole Lösung und es ist richtig gut die Nebenstelle einfach bei sich zu haben, ohne manuell irgendwelche RUfnachleitungen zu programmieren. Alle Devices läuten gleichzeitig!

Zum Testen einfach lange auf das jeweilige Profile drücken und dann “auslösen”, bzw. “trigger” wählen. Dann sieht man, ob das Profil richtig eingerichtet ist. Danach einfach aus der Reichweite des WLAN gehen und testen. Nicht WLAN abschalten, disconnecten, oder anders versuchen! Der durch das WLAN abgedeckte Bereich muss verlassen werden!

Nexttrack stoppen und starten

Jetzt wurde es richtig lustig, denn wer glaubt man kann eine App so einfach starten, der irrt. Man sieht schon am Befehl für OpenVPN, dass hier Android eigene Konventionen hat.

Der stop Befehl am force-stop org.nexttracks.android war schnell gefunden, aber der Start war eine Aktion von mehreren Stunden suchen und Test. Hier ist TermUX, verfügbar im F-Drod Store, eine große Hilfe beim Testen. TermUX bietet eine Shell und kann auch su für root Befehle. Das Ergebnis ist folgendes und gilt für alle Packages ähnlich:

TermUX starten

su
cmd package resolve-activity --brief org.nexttracks.android | tail -n 1

results in:

org.nexttacks.android/.ui.map.MapActivity

danach können wir mit exit den su verlassen und den Startbefehl testen

am start -n org.nexttracks.android/.ui.map.MapActivity

Dadurch wird Nexttracks gestartet und überträgt die Positionsdaten.

Nun können wir die Profile für das Verlassen und das Eintreten in den Home-WLAN Bereich fertigstellen:

Eine wirklich coole Lösung für SmartPhone Pro Benutzer die es lieben werden, stupid Tätigkeiten vollkommen automatisiert ablaufen zu lassen! Easer kann noch viel mehr, aber das Beispiel sollte ein guter Einstieg sein.

Gewerbliche Kunden

Die von mir gegründete CTS IT Solutions bietet gewerblichen Kunden perfekte und bestens erprobte IT Lösungen! Gerne beraten wir Sie bei allen Fragen rund um die IT!

Join my public room in the Matrix

If you like this blog entry feel free to join my public room by entering /join #kmj:matrix.ctseuro.com anywhere in the Element Messenger (https://element.io) box to send a message! Or follow this Link: https://matrix.to/#/#kmj:matrix.ctseuro.com

Help or answering questions ONLY in this room!

Liebe Grüße,

Karl