HomeMatic Tutorial

HomeMatic – Android VPN Zugang automatisieren

VPN und Tasker

Wer aus der Ferne auf sein HomeMatic System zugreifen möchte, hat grundsätzlich verschiedene Möglichkeiten, einen Zugriff zu realisieren. Aus Sicherheitsgründen ist eine VPN-Verbindung derzeit die beste Option. Ärgerlich nur, dass diese bei Android-Geräten manuell aufgebaut und wieder getrennt werden muss.

Das folgende Tutorial zeigt, wie sich der Auf- und Abbau des VPN-Tunnels mittels Tasker automatisieren lässt.


Die Anleitung setzt voraus, dass die VPN-Verbindung zum Router bereits eingerichtet ist. Wie dies erfolgt, hängt vom jeweiligen Router ab, der diese Funktionalität natürlich auch unterstützen muss. Für Fritzboxen gibt es hierzu Informationen auf der Herstellerseite.

Im Internet finden sich Lösungen, in denen Tasker in Kombination mit dem Secure Settings Plugin für Tasker verwendet wird. Dies erfordert aber anscheinend ein gerootetes Gerät.

Die folgende Variante setzt auf Tasker in Verbindung mit VpnCilla und funktioniert auch, wenn das Smartphone nicht gerootet ist.


Falls nicht schon vorhanden, sind die beiden (kostenpflichtigen) Apps zu installieren:
-Tasker
-VpnCilla

Der Tasker-Dienst muss in den Android-Einstellungen unter „Eingabehilfe“ eingeschaltet sein…

VPN und Tasker

In VpnCilla wird gemäß der in der App hinterlegten Anleitung zunächst der VPN-Zugang zum eigenen Router eingerichtet. Die einzugebenden Daten sind auch hier vom Routermodell abhängig. Für Fritzboxen hilft vielleicht diese „Übersetzungstabelle“:

FritzboxVpnCilla
Server-AdresseVPN Serveradresse
IPSec IdentifierGroup Id
IPSec Pre-Shared KeyGroup Passwort (optional)
Benutzer PasswortBenutzer Passwort (optional)

(Etwas veraltete) Informationen hierzu gibt es auch vom Programmierer der App.


Aus Sicherheitsgründen sollte das Benutzer-Passwort nicht in der App gespeichert sondern jedesmal erneut eingegeben werden, da sonst jeder, der Zugang zum Android-Gerät erhält, auch in das entfernte LAN kommen kann.

Wenn alles eingerichtet ist, müsste sich der VPN-Zugang über VpnCilla auf- und abbauen und mit Hilfe des zugehörigen Widgets toggeln lassen…

VPN und Tasker

Damit das automatisiert abläuft, sobald eine App gestartet/beendet wird, werden in Tasker lediglich zwei Aufgaben und ein zugehöriges Profil benötigt.

VPN und Tasker

Zuerst legen wir eine neue Aufgabe „VPN connect“ an.

Als Aktion wird in der Aktionskategorie „System“…

VPN und Tasker

…“Sende Intent“ ausgewählt…

VPN und Tasker

…und dort folgendes eingetragen:

Aktion: android.intent.action.MAIN
Typ: Default
Extra: android.intent.extra.shortcut.NAME:[Name der in VpnCilla eingerichteten Verbindung ohne die eckigen Klammern]
Extra: vpncilla.extra.FORCE:connect
Paket: com.gmail.mjm4456.vpncilla
Klasse: com.gmail.mjm4456.vpncilla.VpncList
Ziel:  Activity

Eine weitere Aufgabe „VPN disconnect“ erhält die gleichen Angaben, mit folgender Ausnahme…

Extra: vpncilla.extra.FORCE:disconnect

Tipp:

Wer sich die manuellen Eingaben sparen möchte, kann sich auch die Konfigurationsdateien herunter laden und mit einem Fingertipp auf den Tab „TASKS“ und der Auswahl von „Importiere“ importieren.

Ich musste die Dateien aber von…

*.xml

…in…

*.tsk.xml

…umbenennen, damit Tasker sie finden konnte…

VPN und Tasker

VPN und Tasker

Außerdem muss nach dem Import natürlich der eigene Verbindungsname eingetragen werden:

Extra: android.intent.extra.shortcut.NAME:[Name der in VpnCilla eingerichteten Verbindung ohne die eckigen Klammern]

Bei manuellem Ausführen der Tasks sollte sich die VPN-Verbindung nun ein- und ausschalten lassen.


Hinweis:
Bei mir (und wie ich las offensichtlich auch bei anderen) funktionierte das nicht mit der Trial-Version von VpnCilla!

Nun muss nur noch dafür gesorgt werden, dass Tasker beim Start der Apps den VPN-Tunnel aufbaut und beim Schließen wieder abbaut.

Hierzu werden in dem Tab „PROFILE“ ein neues Profil „App“ angelegt und dort alle Apps markiert, bei denen der VPN-Tunnel erwünscht ist…

VPN und Tasker

Als Task wählen wir „VPN connect“ und als Ausgangs Task (langer Fingertipp in „Profile“ auf den gerade angelegten Task) wird „VPN disconnect“ ausgewählt…

VPN und Tasker

Das war es schon, von nun an wird immer, wenn eine der ausgesuchten Apps aufgerufen wird, automatisch der VPN-Tunnel aufgebaut und bei deren Schließen wieder abgebaut.


Tipp:

Falls gewünscht ist, dass der VPN-Tunnel nur außerhalb eines WLAN-Netzes auf- und abgebaut wird, ist in den beiden Tasks „VPN connect“ und „VPN disconnect“ folgende Bedingung zu ergänzen (die Screeenshots zeigen das am Beispiel „VPN connect“, für „VPN disconnect“ muss dasselbe eingetragen werden):

VPNTasker

Unter „If“ wird…

%WIFII

…und…

*CONNECTION*

…eingetragen, bitte die * nicht vergessen…

VPNTasker

Den Vergleichsoperator…

Ausrufezeichen Tilde

…erhält man mit…

Stimmt nicht mit Muster

VPNTasker

 

Bitte beachten...

Die Verwendung meiner Hinweise, Anleitungen, Schaltungen und Software erfolgt auf eigenes Risiko. Ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung.
Creative Commons Lizenzvertrag
Copyright © Jens-Peter Stern | SMART WOHNEN by sTeRn AV | smart-wohnen.org
  1. Hallo Jens,
    danke erst einmal für diese tolle Anleitung. Bis auf einen Punkt kann ich auch alles übernehmen. Ich habe auf meinem Smartphone nicht vpncilla sondern meinee App heißt „VPN-Menu“. Daher habe ich auch die Zeilen 4,5 und 6 mit dem Namen meiner APP angepasst. Leider führt das nicht zum Erfolg. Vielleicht ist es aber auch ein anderer Grung, dass es nicht die „pro“ Version ist. Hast du vielleicht einen Tipp für mich?
    Danke und Grüße
    Reinhard

    • Jens

      Hallo Rheinhard,

      die Anleitung bezieht sich explizit auf VpnCilla. Ohne VPN-Menu genau zu kennen, glaube ich nicht, dass es mit deiner Anpassung getan ist.

      Entweder wechselst du zu VpnCilla oder fragst vielleicht mal den Autor von VPN-Menu nach Integrationsmöglichkeiten in Tasker.

      Liebe Grüße Jens

  2. Hallo Jens,
    danke für deine Antwort. Ich habe parallel mal mit VPNCilla das auch schon versucht. Leider bekomme ich VPNCilla nicht zum laufen. Es gibt ja einige Anleitungen im Netz, aber es will einfach nicht. Ich denke, dass ich die Einstellungen aus der Fritzbox auch richtig übernommen habe. Ich nutze bisher den Fritzbox einenen VPN Kanal und mit VPN-Menu geht es tadellos. Da muss ich noch ein wenig probieren. Vielleicht meldet sich ja auch noch der Entwickler meiner App.
    Liebe Grüße
    Reinhard

    • Jens

      Hallo Reinhard,

      wenn du über die „normalen“ Android VPN-Funktion (Einstellungen/Weitere Verbindungseinstellungen/VPN) einen Zugang zu deiner Fritzbox aufbauen kannst, sollte es auch in VpnCilla funktionieren, indem du einafch nach der o.a. Tabelle die Daten überträgst, zumindest ist das bei mir so.

      Grüße Jens

      • Hallo Jens,
        nun bin ich nach längerer Zeit endlich wieder dazu gekommen, mich mit der Problematik nochmals zu beschäftigen. Nachdem ich vom Entwickler der APP VPN-Menu auch nach einer wiederholten Anfrage keine Antwort erhielt, habe ich VPNCilla als Kaufversion benutzt und alle Einträge entsprechend deiner Anleitung vorgenommen. Es funktioniert bei Aufruf der APP homedroid, dass eine VPN Verbindung automatisch aufgebaut wird und auch wieder beendet wird. Das Einzige was nicht funktioniert ist, dass homedroid keine Aktualisierung durchführt dort steht als Meldung: „HomeDroid Sync-Fehler ….“ Wenn ich aber das Ganze statt mit VPN Cilla mit VPN-Menu öffne, gibt es keine Fehlermeldung und die Syncronisation funktioniert. Hast du da evtl. eine Idee?

        Viele Grüße
        Reinhard

        • Jens

          Hallo Reinhard,

          ich habe es gerade mal bei mir ausprobiert (HomeDroid habe ich zwar installiert, nutze es aber so gut wie nie). Bei mit ist es ebenso, wie bei dir. Das liegt wohl daran, dass HomeDroid die Fehlermeldung ausspuckt, sobald es startet und keine Netzwerkverbindung vorfindet. Wenn eine Sekunde später die Verbindung steht und du auf die Sync-Taste drückst, funktioniert es nämlich. Wenn dich der zusätzliche Fingertip zu sehr nervt, wirst du wohl mal den Entwickler von HomeDroid nach einer Anpassungmöglichkeit fragen müssen. Vielleicht lässt sich diese Prüfung um eine kurze Zeit nach hinten schieben oder eine zweite Prüfung (ggf. optional) einbauen.

          Liebe Grüße Jens

  3. rUmtifUsel

    Hallo,

    VPNCilla hat bei mir mit einem Nexus5, Android 6.0.1, gerootet tadellos funktioniert. Seit ich mit einem MotoX 2nd Edition, Android 6, gerootet unterwegs bin klappt nur noch der Verbindungsaufbau. Das Trennen der Verbindung funktioniert nicht mehr.
    Hierzu habe ich bereits mit dem Entwickler von VPNCilla Kontakt aufgenommen und mir wurde für die nächste Woche eine App zum Testen angekündigt.
    Der Entwickler ist also durchaus an zufriedenen Kunden interessiert und kümmert sich auch. Die 4,– für die ProVersion sind aus meiner Sicht gut investiert 😉

    • rUmtifUsel

      Der Entwickler von VPNCilla hat mir eine Version gebaut, die das Problem im Zusammenspiel von VPNCilla i.V.m. MotoX beseitigt.
      Ein weiterer „grooooooßer“ Pluspunkt für diese App.

  4. Hallo, habe ich mich auch gerade mal ran gemacht und getestet, es funktionierte aber erst nachdem ich das Profil im VPNCilla umbenannt habe, vorher hatte es Bindestriche drin, damit ging es nicht.
    Geändert auf vpn – funktioniert

    Top Vielen dank

    • Jens

      Hallo Sven,

      danke für deinen hilfreichen Hinweis, dass man in den Profilen von VPNCilla besser auf Bindestriche verzichten sollte.

      Liebe Grüße Jens

  5. Hallo Jens,

    sehr gute Beschreibung und funktioniert auch einwandfrei.
    Einen Wermutstropfen gibt es allerdings.
    Wenn ich mich zuhause in meinem eigenen WLAN befinde und meine APP (die ich in TASKER zum automatischen
    Start über VPN-Tunnel konfiguriert habe) starte, dann meldet sich VPNcilla ebenso und ich muss das VPN-Passwort
    eingeben.
    Dies macht meiner Meinung nach im eigenen WLAN-Netz keinen Sinn.
    Gibt es eine einfache Lösung, die APP im eigenen WLAN-Netz ohne VPNcilla aufzurufen ?
    Ich bin zugegebenermaßen in Sachen Programmierung eine Null und müsste ohne einen entsprechenden Tipp die
    Sache wieder entautomatisieren (bzw. den TASKER zuhause abschalten) und die VPN-Verbindung in Zukunft bei Bedarf wieder separat starten.
    Viele Grüße,

    Jörg

    • Jens

      Hallo Jörg,

      ja das geht. Da es vielleicht auch andere interessiert, habe ich es gleich mal oben in das Tutorial eingebaut.

      Liebe Grüße Jens

      • Jens

        Noch eine Anmerkung dazu, es ist bestimmt möglich, das Ganze nur auf die eigene(n) WLAN SSID zu begrenzen. Wenn ich das richtig erinnere, dürfte das irgendwie mit „variable split“ der Variable „WLAN Info“ (WIFII) funktonieren. Da müsste man sich mal tiefer einlesen.

        • Hallo Jens,

          herzlichen Dank für die prompte Lösung des Problems.
          Funktioniert hervorragend.
          Für mich ist diese Lösung auch erst einmal völlig ausreichend,
          da ich mich sowieso nur mit meinem eigenen WLAN-Netz verbinde.

          Allerdings ist bei mir jetzt noch ein Problem aufgetreten (ist eventuell auch normal ?)
          Ich habe in dem Tasker-Profil drei Apps hinterlegt, bei deren Start der VPN-Tunnel
          eingerichtet und bei Beendigung geschlossen werden soll.
          Soweit funktioniert das auch. Aaaaber.
          Ist nach dem Öffnen einer dieser Apps der VPN-Tunnel eingerichtet und ich wechsle z.B. zu App Nr.2 die in diesem Profil hinterlegt ist, dann wird der VPN-Tunnel automatisch
          geschlossen und dann kommt gleich wieder die Aufforderung zur Eingabe des Passwortes
          zur erneuten Einrichtung des VPN-Tunnels für App Nr.2.
          D.h., bei jedem Wechsel zwischen diesen drei Apps wird der Tunnel automatisch
          geschlossen.
          Könnte man das Ganze auch wie folgt einrichten ?
          Der Tunnel wird erst wieder automatisch geschlossen, wenn alle drei Apps wirklich
          beendet sind ?
          Danke und herzliche Grüße,

          Jörg

          • Jens

            Hallo Jörg,
            das umzusetzen ist ein wenig komplexer. Du kannst mal versuchen, in Tasker eine Variable anzulegen, die auf „wahr“ gesetzt wird, sobald eine der Apps läuft und nur auf „falsch“ gesetzt wird, wenn keine der Apps läuft. In den Ausgangstask baust du dann eine Bedingung ein, dass der nur dann ausgeführt wird, wenn deine neue Variable „falsch“ ist.
            Viel Erfolg
            Jens

  6. Hallo Jens,
    danke für den Tipp.
    Da werde ich mich aber erst einmal etwas belesen müssen. 😉
    Sollte ich Erfolg haben, dann werde ich es hier weitergeben (falls es dir nichts ausmacht).
    Viele Grüße,
    Jörg

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

n/a