UTF-8 Fehler seit IP-Symcon 6.3

@Nall-chan
Vielen Dank für deine Hilfe. Hat wunderbar funktioniert. Das stand bestimmt irgendwann mal in den Migrationsschritten. Das Utils Control kannte ich vorher nicht.

1 „Gefällt mir“

Um herauszufinden in welcher Verbindung das Problem auftritt, habe ich einen weiteren MQTT-Server eingerichtet und die Clients verteilt. Seitdem habe ich allerdings keinen UTF-8-Fehler mehr gehabt. Ich werde das weiter beobachten und berichten.
Grüße
Jürgen

Hallo,

ich habe den UTF-Fehler wen ich versuche in der Console bestimmte Objekte zu löschen. Gibt es hier eine Lösung?

VG Thorsten


Ja. Du brauchst die aktuelle Beta Version und dann um Util Control die Umlaute korrigieren lassen. Danach geht alles.

paresy

Hallo zusammen,

ich habe 6.4 laufen und auch unter UTILS alle Umlaute korrigiert, leider führt das nicht zum Erfolg, folgendes Beispiel Skript bewirkt leider immer noch falsche Zeichen bei Prowl.
Was kann ich noch machen. Meines Erachtens ist das erst mit 6.4 update passiert, vorher lief es lange gut.


    { 
    // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    // Prowl an mich

		include('ProwlPHP.php');

		$prowl = new Prowl($ich);
		$prowl->push(array(
		 'application'=>'Home RP3',
		 'event'=>utf8_decode("äöü"),
		 'description'=>utf8_decode("ÜÄÖ"),
		 'priority'=>utf8_decode($prio)
		));
    } 

Was passiert denn wenn du die UTF decode raus nimmst im Script?

paresy

Das sieht gut aus, danke für den Tipp. Jetzt muss ich nur alle Skripte mit Prowl bearbeiten…

leider habe ich seit einiger Zeit wieder UTF-8-Fehler. Es ist zum Mäuse melken! Erst wollte ich das ignorieren, aber irgendwie nervt das gewaltig. Jedes Mal, wenn ich die Console öffnet, habe ich zwischen 60 und 300 Fehlermeldungen. :rage:

09.09.2023, 17:46:37 | FlowHandler          | Kann Daten nicht zur Instanz #18316 weiterleiten: [json.exception.type_error.316] invalid UTF-8 byte at index 13: 0xAD

Bin ich der Einzige? Ich will den Stand vor V6.3 wieder haben… Bringt V7 da eine Verbesserung?

Grüße
Jürgen

Hi Jürgen,

ich befürchte, dass die 7.0 da nicht besser ist. Aber ich könnte versuchen in diese Fehlermeldung mehr Infos zu geben, damit man die Ursache besser lokalisieren kann. Der Datenfluss erwartet korrektes JSON bzw. das JSON muss UTF-8 konform sein.

Kannst du du mir sagen, wer der physikalische Parent von Instanz 18316 ist?

paresy

Das wäre super. Ich suche schon seit Monaten nach dem Verursacher, finde ihn aber nicht.

Das ist ein ESP mit Temperatursensoren und eigener Firmware. Die Zeile ist aber nur ein Beispiel. In den Fehlermeldungen stehen alle Instanzen, die an dem MQTT-Port hängen.
Grüße
Jürgen

Dann wird der vermutlich irgendwo im MQTT Paket nicht utf8 konform sein.
Hatten wir das Thema dazu nicht hier schon einmal im Forum?
Meine die Lösung war eine andere Library zu nutzen.
Michael

Ja, das liegt daran, dass die Fehlermeldung für alle am Splitter hängenden Instanzen generiert wird (der Fehler ist im Prinzip aber immer der selbe)

Ich schaue gerade, was ich da optimieren kann :slight_smile:

paresy

So. Ich denke eine gute Lösung gefunden zu habe. Es wird ab dem nächsten 7.0er Update nur noch eine Meldung pro Fehler geloggt (statt pro verbundener Instanz) und es gibt Informationen welches Feld den Fehler verursacht und welche Daten es beinhaltet.

Das ganze gilt nicht nur für MQTT sondern für den gesamten Datenfluss.

Beispiel:
10.09.2023, 10:30:08 | FlowHandler | Could not forward data from instance #24195: [json.exception.type_error.316] Field 'Topic' contains an invalid UTF-8 sequence. Data: 62616C626C61C328

paresy

1 „Gefällt mir“

Klasse, damit sollte man genau die Info bekommen, die man zur Behebung des Problems benötigt.

Hatte ich auch schon in Verdacht. Hat sich in meinem Fall aber nicht bestätigt.

So, habe inzwischen auf V7.0 umgestellt. Ein ESP wollte sich dann mit dem MQTT-Server gar nicht mehr verbinden. Da musste ich dann tatsächlich die Library wechseln. Bei allen anderen lief die Umstellung problemlos. Bisher keinerlei Fehlermeldungen. Aber vielleicht war der eine auch der Verursacher…
Wir werden sehen.

Update:
Der ESP mit der inkompatiblen Library scheint tatsächlich das Problem verursacht zu haben. Seit 9 Tagen habe ich jetzt keinerlei Probleme mehr.

Ich habe von 6.1 auf 6.4 umgestellt und alle Scripte mit Umlauten in den Kommentaren erzeugen ebenfalls diesen Fehler. Gibt es eine Möglichkeit das automatisch zu korrigieren oder zumindest alle zu bearbeitenden Scripte zu markieren oder irgendwie visuell hervorzuheben? Und ich rede nur von den Kommentaren in den Scripten.

Vielen Dank für Euer Feedback.

Steht weiter oben…

Michael

1 „Gefällt mir“

Hallo, wäre es möglich mir zu sagen wie ich die Util Control aufrufen kann.

Ich habe seit heute das gleiche Problem,

Bei mir ist es so abgelaufen :

Vor ca. 2 Wochen Update auf V7.
Lief Problemlos.
Alle Scripte änderbar, musste den SQL Zugriff anpassen.

Letzte Nacht automatisches Windows Update auf dem server.
Jetzt habe ich bei fast jedem Script diesen Fehler,
Über windows lässt es sich ganz normal öfnen und editieren.

Habe jetzt versuchsweise aus Ü ein un u gemacht :
//Fugen Sie hier ihren Skriptquellcode ein
und dann funktioniert es.


<? SetValuestring(50383,"Wohnz"); SetValueString(33210,"Taste Essen Rolladen"); SetValueInteger(46705,2); SetValueInteger(51114,5); //Fugen Sie hier ihren Skriptquellcode ein ?>

Damit auch an die Entwickler
Gut dass es jetzt heisst : //Start writing your code here

Grüsse aus dem Schneehaufen

Doppelklick auf die Instanz im Objektbaum, wie bei jeder Instanz halt.
Michael