WebSocket: Invalid frame header

Begonnen von timmib, 30 Januar 2022, 20:19:11

Vorheriges Thema - Nächstes Thema

timmib

Die Änderung war doch in FHEMWEB und nicht in den HttpUtils.

rudolfkoenig

ZitatDie Änderung war doch in FHEMWEB und nicht in den HttpUtils.
In der Tat, da habe ich was verwechselt, tut mir Leid.

Das Problem habe ich mit SST auch deswegen nicht bemerkt, weil es erst beim refresh auftrat, was per default erst nach 5 Minuten kommt, und ich war ungeduldig. Es stellt sich heraus, dass meine Pruefung mit "utf8::is_utf8($txt) && $txt =~ m/[^\x00-\xFF]/" zu konservativ war, da nur is_utf8 zugeschlagen hat. Ich habe das UND jetzt auf ODER geaendert, und scheine damit keine Probeme mehr zu haben.

zap

Zitat von: timmib am 06 Februar 2022, 13:15:23

Alternativ zu diesem Beta-Modul bleibt nur Homematic. Dem Maintainer habe ich auch geschrieben, aber bisher ohne Erfolg.

Viele Grüße

Tim

Du erwartest jetzt hoffentlich nicht, dass ich alles stehen und liegen lasse, und mich mit einem Thema befasse, das anscheinend nur einen Nutzer betrifft (bzw. Konsequenzen hat). Ich habe aktuell eine Liste von mehr als 40 Issues für HMCCU. Ich nehme Dein Problem gerne auf die Liste, benötige jedoch konkrete Hinweise, was ich ändern soll, da ich nicht die Zeit habe, mich im Detail einzulesen.

Wenn das Problem nur mit https auftritt: warum nutzt Du nicht einfach http? Im lokalen Netz ist https kein Sicherheitsgewinn und remote würde ich sowieso VPN verwenden. Wer es dann schafft, die VPN Verbindung zu hacken, für den spielt die SSL Verschlüsselung auch keine Rolle mehr.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

timmib

Ne, das erwarte ich nicht.

Btw. Die Tablets sind in einem VLAN, und da ist HTTP wirklich nicht das Problem.
Zum Administrieren nutzte ich aber lieber HTTPS. zum Glück erlaubt FHEM ja den Parallelbetrieb.

Man muss auch sagen, dass die clients automatisch reconnecten und Benutzer ggf. deswegen damit leben können.

Bin ich wirklich der einzige der HTTPS und Homematic nutzt?

rudolfkoenig

@timmib: habe die Aenderung zurueckgedreht wegen https://forum.fhem.de/index.php?topic=126048, was offensichtlich deutlich mehr Benutzer betrifft.
Es gibt leider unterschiedlich "kaputte" Module, und ich weiss noch nicht, wie ich das Problem fuer alle zufriedenstellend loesen soll.

zap

Zitat von: rudolfkoenig am 07 Februar 2022, 18:20:21
@timmib: habe die Aenderung zurueckgedreht wegen https://forum.fhem.de/index.php?topic=126048, was offensichtlich deutlich mehr Benutzer betrifft.
Es gibt leider unterschiedlich "kaputte" Module, und ich weiss noch nicht, wie ich das Problem fuer alle zufriedenstellend loesen soll.

Wenn Du Tipps hast, wie ich meine Module "reparieren" kann, gerne.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

rudolfkoenig

ZitatWenn Du Tipps hast, wie ich meine Module "reparieren" kann, gerne.
Die Module muessen Strings mit dem Perl-internen utf8-Flag oder Wide-Character (ord($str) > 255) vermeiden.
Solche Strings muessen vmtl. mit utf8::encode($string) "externalisiert" werden.

Ich habe fhemdebug mit dem Argument utf8check erweitert, das diese Pruefung rekursiv fuer alle Strings in den %defs, %modules und %attr uebernimmt.
Die Ausgabe schaut so aus:
fhem> define d dummy
fhem> setreading d a b
fhem> fhemdebug utf8check
Checked 1372 elements
Found no strings with utf8-flag

fhem> {$defs{d}{READINGS}{a}{VAL} = utf8str() }

fhem> l d a
d                    2022-02-08 15:19:20    鸡

fhem> fhemdebug utf8check
Checked 1372 elements
Strings with utf8-flag set:
Key: def::d::READINGS::a::VAL Value:鸡

herrmannj

nur mal so, was passiert eigentlich wenn man in ein Modul "use utf8;" schreibt und der Autor dann "Jörg" ($id: jörg ...). Da geht doch nix kaputt oder .. ;)

herrmannj

nur mal so, was passiert eigentlich wenn man in ein Modul "use utf8;" schreibt und der Autor dann "Jörg" (my $id: jörg ...). Da geht doch nix kaputt, wenn man das dann ausgiebt, oder .. ;)

rudolfkoenig

Solange dieser String nirgendwo FHEM verlaesst, und nicht in der "Naehe" eines anderen Strings kommt (und sie mit dem utf8-flag infiziert), was wiederum FHEM verlaesst, ist das irrelevant. Ansonsten ist das potentiell ein Problem.

Manche Module wie telnet oder FHEMWEB versuchen zwar das Problem zu vermeiden, aber offensichtlich gelingt das nicht ueberall, wie man das genau in diesem Thread sieht.