Neues Frontend: FhemNative Updates

Begonnen von Syrex-o, 16 Juli 2019, 14:50:24

Vorheriges Thema - Nächstes Thema

Guzzi-Charlie

Es sind exakt die gleichen Einstellungen wie in Windows, d.h. gleiche IP, gleicher Port, fhemweb, sichere Verbindung, Basic Authentication, gleicher user, gleiches PW.

Ich habe keine Ahnung worum es mit Android nicht funktioniert. Ich versuche es schon seit Jahren immer mal wieder, aber leider ohne Erfolg. Ich würde gerne ein Tablet an die Wand "nageln" wenn es denn funktionieren würde UND FhemNative auch mit meiner Menge an Variablen klarkommen würde. So wie es im Moment ist taugt es leider nicht für den allgemeinen (WAF) Gebrauch sondern nur für mich als übersichtlichere Lösung gegenüber der über 60 Räume im originalen FHEM WEB-UI.
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

frober

Das klingt nach einem Problem mit dem Zertifikat.
Selbst signiert oder öffentliches?
Funktioniert der Zugriff mit dem mobilen Browser auf dem gleichen Gerät?
Wenn das nicht funktioniert, funktioniert auch FhemNativ nicht. Der Browser muss das Zertifikat auch als echt anerkennen.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Guzzi-Charlie

Zitat von: frober am 18 November 2024, 07:23:55Das klingt nach einem Problem mit dem Zertifikat.
Selbst signiert oder öffentliches?
Ehrlich gesagt weiß ich gar nicht mehr was ich da vor Jahren mal eingerichtet habe. In den FHEM WEB-Einstellungen steht HTTPS auf 1 und csrfToken auf none. Der Zugang zu FHEM WEB ist mit Login und PW gesichert. Das wird sowohl am PC, als auch im Browser auf dem Handy immer abgefragt. Die genauen Zusammenhänge habe ich allerdings noch nie so richtig verstanden.

ZitatFunktioniert der Zugriff mit dem mobilen Browser auf dem gleichen Gerät?
Was meinst Du damit? Den normalen Chrome-Browser auf dem Handy? Wenn ja, dann funktioniert der Zugriff auf FHEM damit, allerdings auch oft erst nach mehrmaligen Versuchen und manchmal auch gar nicht. Das habe ich auch noch nicht herausgefunden warum das so ist. Mit jedem PC/Laptop funktioniert der Zugang dagegen immer und sofort, auch über eine VPN-Verbindung aus der Ferne. Manchmal gibt es aber in Chrome eine Meldung das die Website nicht sicher sei und ich muß zum Fortfahren das nochmal bestätigen.
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

frober

HTTPS benötigt ein gültiges Zertifikat, d.h. es muss eine bekannte und anerkannte Zertifizierungsstelle geben, die das bestätigt.
Ich hatte hier im Unterforum mal einen Link gepostet wie man ein eigenes gültiges Zertifikat erstellt. Das gilt nur fürs private Netz. Öffentlich, aus dem Internet, sollte man Let's Encrypt benutzen.

Bei Android läuft die Überprüfung der Zertifizierung übers Betriebssystem. Zumindest für Google eigene (Chrome) oder überwachte Apps. Darum funktioniert FhemNativ nicht, wenn die Überprüfung scheitert.

Bei Windows scheint es die SW selbst zu sein. An meinem Arbeitsplatz z.B. lässt Edge unsicher Seiten nicht mehr zu. D.h. es gibt auch keine Möglichkeit mehr zu bestätigen.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Guzzi-Charlie

OK, dann bin ich raus. Ich verstehe die ganzen Zusammenhänge nicht. Warum kann ich dann FHEM mit meinem Android-Handy im Chrome-Browser öffnen aber FhemNative nicht?

Danke trotzdem.
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

frober

Zitat von: Guzzi-Charlie am 18 November 2024, 13:06:08OK, dann bin ich raus. Ich verstehe die ganzen Zusammenhänge nicht. Warum kann ich dann FHEM mit meinem Android-Handy im Chrome-Browser öffnen aber FhemNative nicht?

Du hast doch selbst geschrieben, dass du die unsicher Webseite bestätigen muss und diese Möglichkeit gibt es in FhemNativ nicht.
HTTPS verschlüsselt die Datenübertragung, das Zertifikat ist dafür da, um sicher zu stellen, das du auch auf die richtige Adresse zugreifst und diese nicht durch einen Hacker umgeleitet wurde.
Ich denke, das es zukünftig noch mehr Einschränkungen ohne HTTPS und ohne gültigen Zertifikat gibt. Zumindest für öffentliche Webadressen.

Wenn du es nur im privaten Netz verwendest, kannst du es auch mit HTTP probieren. Das sollte funktionieren.
Einfach, bei Bedarf, ein weiteres FHEMWEB ohne HTTPS anlegen.
Die Fritzbox, Tasmota etc. haben intern auch nur HTTP.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Guzzi-Charlie

Ich habe nochmal nachgeschaut und verschiedenes versucht, klappt aber Nichts auf Android.

Vielleicht kann mir erstmal Jemand bestätigen ob mein folgendes Verständnis richtig ist:
  • Die Einstellung "Sichere Verbindung" in FhemNative bezieht sich auf die Einstellung von "HTTPS" in FHEM WEB
    ==> Hier ist "1" eingetragen und es gibt einen Ordner certs im fhem-Verzeichnis. Darin gibt es zwei Dateien (server-cert.pem und server-key.pem)
    ==> Die sind aber schon sehr alt (aus 2018). Kann es sein das die abgelaufen sind?
    ==> Wenn es so ist wie Du schreibst, dann könnte ich mit Windows FHEM aufrufen (nachdem ich die Meldung "unsichere Website" bestätigt habe), aber nicht mit Android?
    ==> Warum kann ich dann aber mit Android (nach Eingabe der Login-Daten) trotzdem FHEM aufrufen, FhemNative aber nicht?
  • Die Einstellung "Sichere Verbindung" in FhemNative bezieht sich auf die Einstellung von "basicAuth" in FEM WEB?
    ==> In FHEM WEB finde ich das Attr "basicAuth" aber gar nicht. Irgendwann habe ich die Zugangsdaten aber mal eingegeben, aber wo - ich weiß es nicht mehr- oder sind die versteckt?

In Windows ist in FhemNative alles aktiviert (also "sichere Verbindung" und "Basic Auth.") aber ob nun HTTPS in FHEM aktiviert ist oder nicht ist FhemNative egal. Das funktioniert so oder so.

Vielleicht kann mir irgend Jemand mal die Zusammenhäng erklären (ich verstehe es im Moment überhaupt nicht) und mir ein paar Tipps geben wo ich suchen könnte.
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

frober

    ZitatZitat von: Guzzi-Charlie am 20.11.2024, 18:49:06
    • Die Einstellung "Sichere Verbindung" in FhemNative bezieht sich auf die Einstellung von "HTTPS" in FHEM WEB jein, genauer gesagt WSS (Secure Websockets), spielt aber erstmal keine Rolle
      ==> Hier ist "1" eingetragen und es gibt einen Ordner certs im fhem-Verzeichnis. Darin gibt es zwei Dateien (server-cert.pem und server-key.pem)
      ==> Die sind aber schon sehr alt (aus 2018). Kann es sein das die abgelaufen sind? die Frage ist eher, wie wurden sie erstellt, es gibt etliche Anleitungen zum Erstellen, nur werden diese dann nicht als sicher anerkannt, wenn ich meinen Link finde poste ich ihn
      ==> Wenn es so ist wie Du schreibst, dann könnte ich mit Windows FHEM aufrufen (nachdem ich die Meldung "unsichere Website" bestätigt habe), aber nicht mit Android? Mit Android im Webbrowser kannst du die unsichere auch bestätigen, nur in FhemWeb nicht
      ==> Warum kann ich dann aber mit Android (nach Eingabe der Login-Daten) trotzdem FHEM aufrufen, FhemNative aber nicht?
    • Die Einstellung "Sichere Verbindung" in FhemNative bezieht sich auf die Einstellung von "basicAuth" in FEM WEB? Nein, basicAuth ist Basic Auth. und sichere Verbindung ist "https" bzw. WSS
      ==> In FHEM WEB finde ich das Attr "basicAuth" aber gar nicht. Irgendwann habe ich die Zugangsdaten aber mal eingegeben, aber wo - ich weiß es nicht mehr- oder sind die versteckt? Das findest du im allowed-Device

    In Windows ist in FhemNative alles aktiviert (also "sichere Verbindung" und "Basic Auth.") aber ob nun HTTPS in FHEM aktiviert ist oder nicht ist FhemNative egal. Das funktioniert so oder so. Um HTTPS in Fhem zu deaktivieren musst du neu starten!
     Vielleicht kann mir irgend Jemand mal die Zusammenhäng erklären (ich verstehe es im Moment überhaupt nicht) und mir ein paar Tipps geben wo ich suchen könnte.

    Teste doch mal ohne "s" und ohne Passwort defmod WEBTest FHEMWEB 8089 global
    attr WEBTest longpoll websocket
    sollte reichen (den Port bei Bedarf anpassen).
    Danach mit Passwort, dafür musst du ein allowed-Device anlegen, mit WEBTest verknüpfen und attr basicAuth setzen.

    Mit Zertifikat (https/WSS) wird es komplizierter, entweder ein Let's encrypt oder sobald ich mein Link finde selbstsigniert. Damit selbstsigniert funktioniert, muss das Zertifikat in Android importiert werden, die eigene Zertifizierungsstelle muss von Client erreichbar sein und das Betriebssystem muss es als gültig akzeptieren.
    Android hat irgendwann die Richtlinien verschärft, dadurch funktioniert ein vermeintlich unsicheres Zertifikat nicht mehr. Nur über den Browser mit extra Bestätigung ist es NOCH möglich.
    Syrex-o hat damals die Möglichkeit für selbstsignierte Zertifikate eingebaut, ansonsten wäre es nur noch mit einem öffentlichen Zertifikat möglich.
    Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
    einiges umgesetzt, vieles in Planung, smile

    ********************************************
    ...man wächst mit der Herausforderung...

    frober

    Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
    einiges umgesetzt, vieles in Planung, smile

    ********************************************
    ...man wächst mit der Herausforderung...

    Guzzi-Charlie

    Danke für die ausführlichen Antworten. Ich werde mal versuchen mich da durchzukämpfen.

    ZitatDie Einstellung "Sichere Verbindung" in FhemNative bezieht sich auf die Einstellung von "basicAuth" in FEM WEB? Nein, basicAuth ist Basic Auth. und sichere Verbindung ist "https" bzw. WSS
    Das war natürlich ein copy & paste Fehler. Das sollte "Basic Auth." heißen.

    So, noch vor dem Abschicken des Posts eine Erfolgsmeldung! Mit dem Test-WEB ohne HTTPS und ohne basicAuth hat es sofort funktioniert. Auch ein Export aus FhemNative und der Import im Android-Device hat funktioniert. Ich habe es auf die Schnelle nur mit dem Handy getestet weil das dafür vorgesehene Tablet noch nicht eingerichtet ist. Auf dem Handy war die Darstellung natürlich eine Katastrophe, aber das ist ja klar.

    Das Problem liegt also wahrscheinlich tatsächlich an dem Zertifikat. Ich werde die nächsten Tage noch ein wenig experimentieren. Je nachdem was dabei herauskommt werde ich das Zertifikat dann erneuern oder den ganzen Quatsch rausschmeißen. Mal sehen.

    Vielen Dank erstmal für die super Unterstützung. Ich melde mich wieder.

    - RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
    - Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
    - LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
    - WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
    - DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

    Guzzi-Charlie

    Hallo,
    ich wollte mich nochmal mit einem Update melden.

    Wie in meinem vorherigen Post schon geschrieben hat das Starten auf Android ohne HTTPS und ohne Authentifizierung ja auf Anhieb funktioniert. Ehrlich gesagt war ich danach aber nicht mehr dazu gekommen weiter zu testen weil ich noch viele andere Dinge an meiner Hausautomatisierung zu erledigen hatte (neue Wärmepumpe per Modbus einbinden, PV-WR ebenfalls zusätzlich per Modbus anbinden. Dabei gab es bei einem Wechselrichter auch ein paar Probleme. Die Modbus/WLAN-Bridge wollte auch erst nicht. Und dann war da noch die Integration der Tibber-Strompreise und die umfangreichen Logiken dazu).

    In diesem Zusammenhang kam es dann immer öfter zu Verbindungsproblemen zwischen meinem FHEM-RasPi und dem Loxone Mini-Server. Es kam immer öfter vor das HTTP-Befehle vom Miniserver nicht/erst sehr verzögert (2-3 Minuten) bei FHEM ankamen. Ich hatte keine Ahnung was die Ursache war. Fakt ist, daß ich immer mehr Geräte am RasPi und immer mehr Funktionen/Logiken im Loxone Miniserver implementiert habe. Bisher lief ALLES über das gleich FHEM WEB.

    Nachdem ich dann ein weiteres FHEM WEB mit einem separaten Port eingerichtet und die Verbindung zu Loxone sowie zu FhemNative dorthin verschoben hatte funktioniert nun alles schnell und einwandfrei!

    Das bedeutet:
    • Das Haupt FHEM-WEB ist schneller geworden
    • Die Verbindung von Loxone zu FHEM ist stabil UND schnell
    • Die Datenübertragung zu FhemNative geht ebenfalls schneller
    • Außerdem habe ich noch eine alte FhemNative-Version (3.0.0) im Einsatz die jetzt auch erstmals länger als zwei Minuten (also tatsächlich dauerhaft) eine Verbindung zu FHEM aufrechterhält und zuverlässig die Werte aktualisiert.

    Anscheinend gibt es irgendwelche Grenzen ab denen eine HTTP-Verbindung "überlastet" ist und nicht mehr alle Daten durchkommen. Ich kenne mich damit allerdings nicht aus und habe deswegen auch keine Ahnung ob das alles so stimmt. Fakt ist allerdings das jetzt alles richtig funktioniert.

    Wenn ich es jetzt noch hinbekommen würde das auch alle ca. 100 Variablen und insgesamt bestimmt über 200 Komponenten auf meine Hauptseite ohne Fehleranzeige funktionieren, dann wäre ich hochzufrieden mit FhemNative.

    Was dann nur noch fehlt wären ein paar komplexere Komponenten, wie:
    • Icons für 2/3-Wegeventile
    • Linien deren Farbe/Strichstärke sich per Variable verändern ließe
    • Label deren Hintergrundfarbe, Rahmenfarbe und Rahmenstärke sich per Variable verändern ließe
    • ...

    Wenn ich etwas Zeit finde will ich mich auch mal mit der Materie der Programmierung von Komponenten beschäftigen. Vielleicht bekomme ich da ja wirklich was zustande, mal sehen.

    Grüße und Frohe Weihnachten
    Bernd
    - RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
    - Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
    - LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
    - WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
    - DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2