Ankündigung

Einklappen
Keine Ankündigung bisher.

Aufruf SmartVisu/fhem im docker über ZeroTrust (Pangolin, Border0, ..)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Aufruf SmartVisu/fhem im docker über ZeroTrust (Pangolin, Border0, ..)

    Hallo,

    ich nutze Smartvisu bereits sehr lange und erfreue mich immer wieder daran.
    Es werden Daten aus FHEM visualisiert, wobei alles über docker / portainer auf einem debian 12 host lokal installiert ist.
    Der Zugriff auf FHEM (10.10.30.150) über fronthem ist über port 2121 in SmartVisu konfiguriert.

    Solange ich SmartVisu im lokalen Netzwerk aufrufe (http://10.10.30.150:9500/smartvisu), läuft alles perferkt 😀.

    Jetzt möchte ich gerne auch von außerhalb von meinem iPhone auf Smartvisu zugreifen.
    Leider kann ich dafür keinen normalen VPN (wäre meine erste Wahl) einrichten, da mein Arbeitgeber das Handy verwaltet und dies nicht zulässt.

    Also habe ich mich für einen ZeroTrust-Tunnel (Pangolin oder Border0) entschieden, um sicher vom Handy aus dem Browser zuzugreifen.
    Der Aufruf der Smartvisu-Seiten ansich funktioniert auch, nur die FHEM-Daten werden nicht mehr angezeigt:

    Aufruf der Smartvisu-Seite im lokalen Netzwerk --> SmartVisu-Seite inkl. FHEM-Daten werden angezeigt
    Aufruf der Smartvisu-Seite über Zero-Trust/Pangolin --> SmartVisu-Seite ohne FHEM-Daten werden angezeigt

    Woran kann das liegen ?

    Für jeden Hinweis bin ich sehr dankbar 😉

    Guten Rutsch !

    #2
    Moin OnkelTom2805,

    der Browser auf dem Endgerät muss immer zwei Verbindungen öffnen:
    • die Visu-Seiten kommen vom Webserver Deines Debian-Systems, also Apache2 oder nginx über den Port 80 oder 443, bzw. In Deinem Fall Port 9500.
    • die fhem-Daten kommen vom Websocket-Server, der Bestandteil von fhem/fronthem ist. Dessen IP-Adresse und Port werden in der smartVISU-Konfiguration eingetragen. Lässt man einen oder beide Einträge weg, verwendet der fhem-Treiber von smartVISU die jeweiligen Angaben aus der Adresszeile des Browsers.
    Theoretisch könntest Du also den Port 2121 in Deinem Router (und Tunnel?) öffnen und die IP-Adresse in der smartVISU-Konfiguration leer lassen, denn der Webserver und der Websocket-Server hören auf die selbe iP-Adresse und sollten daher beide über den Tunnel erreichbar sein. Allerdings akzeptiert der Browser keine Herabsetzung der Sicherheit, d.h. wenn die Visu über https:// aufgerufen wird, muss der Websocket mit dem sicheren Protokoll wss:// angesprochen werden. Das regelt der fhem-Treiber von smartVISU zwar selbst, aber ob fhem dies vorsieht und wie Du die Zertifikate dafür installierst, kann ich nicht beantworten.

    Alternativ kann man den Webserver als Reverse Proxy konfigurieren, der die Verbindungen managt und auch mit unterschiedlichen Protokollen klar kommt. Evtl. Kannst Du auch Pangolin so konfigurieren, dass er eine sichere Verbindung von außen annimmt und nach intern in eine unverschlüsselte Websocket-Verbindung (ws://) wandelt.

    Gruß
    Wolfram
    Zuletzt geändert von wvhn; 31.12.2025, 18:15.

    Kommentar


      #3
      Hallo Wolfram,

      zunächst noch ein frohes Neues Jahr und Danke für die schnelle Antwort.

      Du hast Recht, wenn ich in der smartVISU-Konfiguration die IP-Adresse des FHEM-Treibers leer lasse, funktioniert es weiterhin, allerdings nur bei Aufruf über die lokale IP (10.10.30.150:9500). Bei Aufruf über die externe Pangolin-Adresse (aber immer noch im lokalen LAN) fehlen bereits die FHEM-Daten.

      Ich verstehe nicht, wo und wie ich den Port 2121 öffnen muss.
      In meiner Firewall, oder der Pangolin-Konfiguration, oder ?

      Gruß
      Onkel Tom

      Kommentar


        #4
        Leider kann ich Dir mit Pangolin nicht weiter helfen. Der Versuch, mich kurz mal einzulesen, hat mich nicht schlauer gemacht.

        Wenn ich das richtig verstanden habe, braucht man bei Pangolin keine Portfreigaben in der Firewall. Du musst den Websocket-Server also über die Pangolin-Konfiguration als Ressource erreichbar machen.

        Zitat von OnkelTom2805 Beitrag anzeigen
        Bei Aufruf über die externe Pangolin-Adresse (aber immer noch im lokalen LAN) fehlen bereits die FHEM-Daten.
        Wenn die IP-Adresse in der SV-Konfiguration leer ist, versucht der Client eine Websocket-Verbindung über die externe Pangolin-Adresse aufzubauen. Dazu muss der Websocket-Server über Pangolin erreichbar sein.
        Trägst Du die IP-Adresse wieder ein, versucht, der Client, die Websocket-Verbindung im lokalen Netz aufzubauen, jedoch als verschlüsselte Verbindung (wss://), da Du sicherlich per https:// auf die Pangolin-Adresse zugreifst. Das geht schief, wenn der Websocket-Server nicht für die Verschlüsselung eingerichtet ist.

        Gruß
        Wolfram

        Kommentar


          #5
          Hallo Wolfram,

          mal grundsätzlich eine Frage vorweg:
          Kann man smartVISU so einrichten, dass mit SSL, also über https:// zugegriffen wird ?
          Ich meinte mal gelesen zu haben, dass das nicht geht und habe bei mir daher bislang alles ohne Verschlüsselung eingerichtet.

          Bei Pangolin ist dies auch möglich und ich habe den externen Zugriff auf smartVISU entsprechend ohne Verschlüsselung eingerichtet.
          Funktioniert ja auch über die externe Adresse prima, solange der Aufruf im lokalen Netzwerk erfolgt.
          Ich glaube daher nicht, dass das Problem ursächlich an der Frage Verschlüsselung ja/nein hängt, sondern dass Pangolin den Websocket nicht erreichen kann.

          Hier die Konfigurationsseite von Pangolin und was man dort einstellen kann:

          2026-01-02 16_31_08-Settings - Pangolin — Mozilla Firefox.png

          2026-01-02 16_36_53-Settings - Pangolin — Mozilla Firefox.png

          Noch Ideen ?

          Gruß
          Onkel Tom

          Angehängte Dateien

          Kommentar


            #6
            Moin Onkel Tom,

            ich kann dazu nicht viel mehr sagen. Mit smarthomeNG als Backend habe ich eine verschlüsselte Kommunikation in der Visu schon einmal aufgesetzt (siehe hier). Ob fhem/fronthem das auch kann und was dazu notwendig ist, weiß ich nicht. Evtl. hilft Dir dieser Thread weiter. Der dort erwähnte "patch" ist im fhem-Treiber von smartVISU umgesetzt, so dass smartVISU für wss:// gerüstet ist.

            Für Deine Pangolin-Konfiguration kann ich nur noch einmal darauf hinweisen, dass trotz gemeinsamer IP zwei verschiedene Server erreichbar gemacht werden müssen. Ich habe den Eindruck, dass Du bisher nur die Verbindung zum Webserver konfiguriert hast.

            Gruß
            Wolfram

            Kommentar


              #7
              Hier noch ein interessanter Thread zum Einsatz von Traefik als Reverse Proxy bei fhem.

              Kommentar


                #8
                Zitat von wvhn Beitrag anzeigen
                Hier noch ein interessanter Thread zum Einsatz von Traefik als Reverse Proxy bei fhem.
                Vielen Dank, Wolfram, für den interessanten Hinweis.
                Dann werde ich mir Traefik mal genauer ansehen...

                Kommentar

                Lädt...
                X