jens-maus / RaspberryMatic

:house: A feature-rich but lightweight, buildroot-based Linux operating system alternative for your CloudFree CCU3/ELV-Charly 'homematicIP CCU' IoT smarthome central. Running as a pure virtual appliance (ProxmoxVE, Home Assistant, LXC, Docker/OCI, Kubernetes/K8s, etc.) on a dedicated embedded device (RaspberryPi, etc.) or generic x86/ARM hardware.
https://raspberrymatic.de
Apache License 2.0
1.53k stars 186 forks source link

WebUI: Sonderzeichen in devconfig werden mit falscher Kodierung dargestellt #949

Open alexhass opened 3 years ago

alexhass commented 3 years ago

Mir fällt immer wieder auf, dass die Software Probleme mit Sonderzeichen hat und scheinbar nicht UTF8 safe ist. Das wundert mich wirklich sehr im Jahr 2020... eigentlich wundert mich sowas schon im Jahr 2000.

Z.b. in devconfig > LinkList und verschiedene andere Stellen.

Repro:

  1. Geräte mit äüö anlegen
  2. Zeichen sind korrup.

In logfiles wie messages meine ich das auch schon gesehen zu haben.

jens-maus commented 3 years ago

Es ist allgemein bekannt, das die ReGaHss und folglich auch die WebUI lediglich ISO-8859-1 kompatibel ist (was vor allem aus der tcsh dependency hervorgeht) und folglich mit UTF-8 Kodierungen oder anderen Sonderzeichen so Ihre Probleme entwickeln kann. Deshalb wird im HomeMatic Forum auch an einigen Stellen daraufhin gewiesen das man Sonderzeichen und Umlaute am besten komplett vermeiden sollte.

Zwar gab es diesbzgl. in den letzten Jahren einige Verbesserungen und Reparaturen bzw WebUI Patches um die Probleme abzumildern. Trotzdem kommt es wohl noch hier/da zu verschiedenen solcher Probleme in der WebUI. Von einem generellen Problem kann hier jedoch zumindest bzgl RaspberryMatic nicht mehr die Rede sein.

Daher würde ich bitte vorschlagen jedes einzelne Problem hier vorzubringen und das angeblich falsche Verhalten mit Screencasts und beispielen zu hinterfüttern damit hier auf jeden einzelnen Fall eingegangen und von anderen das dann so versucht werden kann zu reproduzieren und ggf Fehlerlösungen dann schritt für schritt erarbeitet werden kann.

Und bzgl "devconfig" und linklist muss aber jedoch dazu gesagt werden das devconfig wie der Name schon sagt ein Entwicklerfeature ist das so auf einer produktiven Umgebung nicht aktiviert ist und folglich auch eine niedrige Priorität hat.

alexhass commented 3 years ago

Ok, man lernt ja jeden tag was neues. Ohne mich eingelesen zu haben, hätte ich blind erwartet, dass eine linux shell utf16/32 kann... solch einen case habe ich auch auf anhieb gefunden.

jens-maus commented 3 years ago

@alexhass Verstehe nicht was da eine Linux Shell damit zu tun haben soll? Es geht hier ja um die WebUI, d.h. die Weboberfläche, etc.

Wenn du aber konkrete Probleme aufzeigen kannst (wie gesagt am besten wohl dokumentiert und mit der nötigen breiten testhardware/umgebung auch mehrfach getestet), kann ich mir die gerne im einzelnen mal anschauen und erst einmal versuchen selbst nachzustellen und vielleicht gibt es ja für jeden einzelnen Fall eine Möglichkeit hier Verbesserungen vorzunehmen.

alexhass commented 3 years ago

Du sagtest es liegt an tcsh dependency. Tcsh ist aber 8 bit clean per https://linux.die.net/man/1/tcsh ? Vieleicht muss man hier mal dran und den Rest einfach umstellen. Homematic ist doch ein internationales produkt... zumindest tut eq3 so als wenn sie „der player“ in der EU sind. Dann muss man aber auch utf8 vollständig supporten. :)

jens-maus commented 3 years ago

@alexhass Nun kann man hier gerne herumphilosophieren oder auch groß in der Breite diskutieren oder gar die Schuld eQ3 in die Schuhe schieben. Das hilft einem aber leider dann auch nicht weiter. Wie gesagt, bring jeden einzelnen Fall hier in neutraler, technischer Manier hier vor und wir können uns diese dann gerne eins nach dem anderen anschauen. Alles andere führt IMHO zu nichts.

alexhass commented 3 years ago

Beispiel hab ich ja oben gegeben.

Du sagst doch das raspmatic das zukünftige ccu3 release ist... du hast vermutlich als einziger zugang zu eq3 code... ich hab keine nda gesigned.

Hat mit philosophie nix zu tun.

Nach ~20 jahren homematic code (ich vermute das gibt es seit dem ersten tag) muss man teile vieleicht auch mal einem refactoring unterziehen. Code der heute noch iso encodings verwendet, würde ich dann mal ganz vorn in der prio liste sehen. Klar man kann auch noch 10 jahre im alten saft drehen und sagen - läuft ja - richtig muss das trotzdem nicht sein. Als jahrelanger programmierer wirst du es sicher auch kennen, dass der code der auf spaghetti aufsetzt nicht besser wird. Die lage wird doch in der regel eher noch schlimmer weil man sich von einem würgaround zum nächsten schleppt, statt man richtig aufzuräumen und dann langfristig oder für immer seine ruhe zu haben.

Frage mich noch immer wie es an tcsh liegen soll?

jens-maus commented 3 years ago

Tschuldigung, aber können wir uns drauf einigen das wir solche Prinzipiendiskussionen (eq3, hätte hätte) hier weglassen, das führt zu nix. Stand ist so wie er ist und damit musst du leben oder eben offensichtliche Fehler hier nicht nur benennen sondern auch aufdecken und detailliert beschreiben.

Bitte konzentrier dich darauf die Fälle wo angeblich Sonderzeichen nicht in die webui nicht korrekt einzutragen sind aufzuzeigen und das mit entsprechend eigenen analysen bzw screencasts zu belegen. Und im besagten Fall der devconfig hatte ich dir ja geschrieben das das ein developer-only feature ist und folglich völlig zweitrangig. Also bitte Butter bei de Fische und nicht nur grob aufzeigen was nicht geht, sondern ins technische detail gehen und screencasts hier zeigen, eigene javascript/code analysen machen, etc. etc.

no-response[bot] commented 3 years ago

This issue has been automatically closed because there has been no response to our request for more information from the original author.

alexhass commented 3 years ago

Ich glaube ich hatte eine Stelle genannt. Ist die schon gefixt?

jens-maus commented 3 years ago

Ich sehe keine ausführliche Fehlerbeschreibung mit Beispiel Screencast oder Screenshot, und eigenen Analysen des problems um den Ansatz einer Fehlerbehebung zu vereinfachen. Nichtmal ist erwähnt auf welche RaspberryMatic Version das basiert, welchen browser du einsetzt, welches OS, etc. etc. Und dann natürlich: Wir sind hier nicht der längere Arm des eQ3 Supports oder Entwicklern. Ergo: Eigeninitiative ist gefragt. Bis das nicht passiert und du auf dinge in der Tiefe eingehst bleibt das Issue zu.

alexhass commented 3 years ago

Oben steht ganz klar Siehe "devconfig" > "LinkList". Hast Du keine "Küche", "Gästebad", "Büro" oder ähnliches?

Meine Hardware IDs poste ich hier nicht: 2020-11-04_143901 2020-11-04_143852 2020-11-04_143754

jens-maus commented 3 years ago

Ich hatte ja bereits gesagt, das devconfig ein developer-only feature ist und daher keinerlei priorität besitzt und ich es für sehr unkritisch halte das es da "unschön" dargestellt wird.

Des Weiteren hatte ich darum gebeten für jeden einzelnen Fall einzelne Issues mit ausführlicher Beschreibung + Screenshost zu liefern, am besten aber auch gleich einen PullRequest mit Vorschlag eines Bugfixes zu liefern. Metatickets wie dieses hier "..an verschiedenen Stellen..." bringen nichts und lassen in der Phase der Entwicklung schwer dann einen Rückschluss auf eine Änderung vor.

alexhass commented 3 years ago

Jetzt besser?

alexhass commented 3 years ago

Mir ist die Prio egal. Ich habe einen Bug gefunden und reported. Er sollte nicht verloren gehen.

jens-maus commented 3 years ago

Gut, dann lege ich das mal auf Halde. Das nächste mal aber bitte an die beschriebenen Verfahren halten und ein Issue pro problem aufmachen und sich auch genügend zeit nehmen das Problem mit ausreichend technischen Details und Schritt-für-Schritt Anleitung zum reproduzieren versehen.

Und nur um es noch einmal zu komplettieren. Die Probleme mit ISO-8859-1 vs. UTF-8 Kodierung in der WebUI sind schon viele Jahre bekannt, aber schwer bis gar nicht zu lösen (siehe z.B. #335).

alexhass commented 3 years ago

Sieh mir bitte nach, dass ich erst seit mitte Juli 2020 Homematic im Einsatz habe und nicht die ganze Historie der letzten 2 Jahrzehnte Homematic kennen kann. Und Raspmatic dann noch 6-8 Wochen weniger.

jens-maus commented 3 years ago

Das sehe ich dir nach, allerdings solltest du dann IMHO mit der notwendigen Rückhaltung hier agieren, diskutieren und issues öffnen. Eine gute Anlaufstelle ist hier übrigens das HomeMatic Forum. Es hat sich eingebürgert erst dort nach vermeintlich bekannten Probleme zu suchen dann dort ggf. vorzubringen und erst dann wenn sich aus Diskussionen dort heraus ein konkreter Bugansatz herauskristallisiert eröffnet man hier ein Issue und beschreibt das in neutraler, technischer Art und Weise, denn GitHub ist ein Bug/Issue Tracker bzw. Entwicklungsplatform und kein Diskussionsforum.

eikowagenknecht commented 1 year ago

Moin, ich habe zu dem Thema auch etwas festgestellt. Und zwar wurde in meiner CCU3 in der devconfig in der RSSI Liste alles korrekt dargestellt (also Umlaute so wie sie aussehen sollen):

image

Nun habe ich diese CCU3 exportiert und das Backup im HA Addon eingespielt und dort sieht es nun falsch aus:

image