shortpoll error nach fhem update. Problem wenn readingsvalue ":" enthält?

Begonnen von FhemPiUser, 18 Februar 2017, 19:41:29

Vorheriges Thema - Nächstes Thema

FhemPiUser

Hallo setstate,

ich bekomme seit kurzem (seit einem FHEM update, aber ohne Veränderung der Tablet UI Software) einen Fehler beim shortpoll. Ich habe mal mit der Webconsole geschaut, und es sieht aus als käme der von Tabelt UI benutzte JSON Parser nicht mit Reading values zurecht, die ein ":" enthalten.

Der Fehler, der gemeldet wird, ist:

Error
ShortPoll Request Failed
parsererror, SyntaxError: JSON.parse: expected double-quoted property name at line 268 column 2 of the JSON data


Die JSON Datei an der Stelle sieht wie folgt aus:

"recentStateType": { "Value":"info", "Time":"2017-02-18 18:54:41" },
      "state": { "Value":"off", "Time":"2017-02-18 18:54:41" },
      "timedOn": { "Value":"off", "Time":"2017-02-18 18:54:41" },
      "trigLast": { "Value":"OG_Wandtaster_Btn_01:short", "Time":"2017-02-18 18:54:21" },
      "trig_O    "trig_OG_Wandtaster_Btn_03": { "Value":"Short_20", "Time":"2016-11-10 06:46:15" }
    },


also genau an der Stelle, nachdem ein Reading mit Doppelpunkt  ("OG_Wandtaster_Btn_01:short") kommt stimmt die JSON Syntax nicht mehr.

Ich habe allerdings momentan nicht die aktuellste Version von Tablet UI drauf (2.2.3)

rudolfkoenig

@FhemPiUser: ist dein FHEM aktuell?

Das Problem wurde auch schon gemeldet (es wird aus dem JSON an beliebiger Stelle Text entfernt), ich kann es aber leider nicht nachstellen, und Ideen habe ich auch keine mehr. Im gemeldeten Fall ist das Problem verschwunden, nachdem FHEMWEB die Daten (nach der Umstellung auf mimetype application/JSON) wieder komprimiert hat.

Wenn jemand mir was Nachstellbares zeigen koennte, wuerde ich mich freuen. Es wuerde mir auch schon helfen, wenn ich von der gleichen Installation eine heile und eine kaputte JSON Datei bekommen koennte.

Nachtrag: mit Doppelpunkt hat es nichts zu tun.

FhemPiUser

ja, fhem war direkt vorher aktualisiert worden. mit der alten fhem version habe ich den fehler nicht gesehen...

ich habe dir 3 beispiel dateien mit fehler geschickt, eine entsprechende version ohne fehler konnte ich nicht produzieren.

rudolfkoenig

Ich habe eine kaputte (== abgeschnittene) PM bekommen.
Bitte direkt an meine Mailadresse als .zip schicken.

rudolfkoenig

Ich prezisiere, ich will eine kaputte und eine heile Datei, die _mit den gleichen Argumenten_ an JsonList2 erzeugt wurden.

Ich habe die JSONs, die ich bekommen habe, angeschaut, geraetselt, und einen Fehler in 01_FHEMWEB.pm gefunden. Er waere dann der Ausloeser von deinem Problem, falls das Frontend (da wo TabletUI laeuft, deswegen meine Frage), langsam bzw. langsam angebunden ist, und TabletUI mehrere "parallele" Anfragen ueber die gleiche Leitung sendet. Kann jemand diese Hypothese mit den parallelen Anfragen bestaetigen?

Den Fix habe ich eingecheckt, steht ab morgen per update zur Verfuegung. Fuer ungeduldige: 01_FHEMWEB.pm aus SVN runterladen und ersetzen.

Leeloo_Dallas

Ich hatte heute Nachmittag ein Update gemacht und erhalte die gleichen Fehler im TabletUI.

Der Fehler erscheint nicht nur beim Aufruf der eigenen FTUI-Konfiguration sondern auch direkt beim Aufruf von
https://<IP>:<Port>/fhem/ftui/index_state.html

Die geänderte 01_FHEMWEB.pm habe ich bereits aus dem SVN übernommen, jedoch bleibt das Verhalten gleich.

Soweit ich das beurteilen kann, finden bei mir keine "parallelen" Anfragen statt.

Wie genau kann ich noch helfen, um das Problem zu finden?
Greatz Leeloo

lenn1


CoolTux

Nur ins blaue geraten. Entweder das hier mal versuchen


attr global featurelevel 5.7


Oder das hier


attr  WEBINSTANZ csrfToken none
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

ZitatIch hatte heute Nachmittag ein Update gemacht und erhalte die gleichen Fehler im TabletUI.

Steht doch direkt in meinem Beitrag drueber, begreife nicht, was daran falsch zu verstehen ist:
steht ab morgen per update zur Verfuegung.


Nachtrag: Sorry, das habe ich zu spaet gelesen.
ZitatDie geänderte 01_FHEMWEB.pm habe ich bereits aus dem SVN übernommen, jedoch bleibt das Verhalten gleich.

ZitatWie genau kann ich noch helfen, um das Problem zu finden?
Mir eine heile und eine kaputte JSON zur Verfuegung stellen, entweder hier als .zip Anhang oder per Email.

setstate

Zeile1 und Spalte1 im JSON klingt für mich wie "leer"

Was kommt denn als Data zurück? In den Browser Developer Tools unter Netzwerk-was-auch-immer sieht man den Aufruf und den Reply.

Leeloo_Dallas

#10
Nachtrag: Sorry, das habe ich zu spaet gelesen.Mir eine heile und eine kaputte JSON zur Verfuegung stellen, entweder hier als .zip Anhang oder per Email.
[/quote]

Die reine Wiederholung macht es leider für einen NOOB nicht verständlicher. Welche Datei genau (Ort und Name) soll ich Dir heraussuchen?
Ich hatte zuvor ein Backup gemacht, sollte Dir somit die Dateien zur Verfügung stellen können. Leider hab ich keine Ahnung was Du genau meinst.

----> Nachtrag 1: Anzeige Developer Tool im Anhang

-----> Lösung
Zitat von: CoolTux am 20 Februar 2017, 14:29:59
Nur ins blaue geraten. Entweder das hier mal versuchen


attr global featurelevel 5.7


DANKE !!!! Das hat geholfen :)
Greatz Leeloo

dt2510

Zitat von: CoolTux am 20 Februar 2017, 14:29:59
Nur ins blaue geraten. Entweder das hier mal versuchen

attr  WEBINSTANZ csrfToken none


Hat den Fehler bei mir beseitigt

setstate

Und jetzt eine Zeile anwählen (oder Doppelklick), dann muss da irgendwo Request und Reply stehen?

Die Antwort (Reply) ist interessant. Das ist keine feste Datei im Filesystem.

rudolfkoenig

Zitatattr  WEBINSTANZ csrfToken none
Hat den Fehler bei mir beseitigt

Dann muss der TabletUI Maintainer nachsitzen, das Attribut gibt es seit 2014-08-10, ich habe die Aktivierung ein paarmal angedroht, zuletzt vor 2 Wochen.

Leeloo_Dallas

Hier noch die anderen Screenshots, falls Ihr diese noch braucht.
Greatz Leeloo