Bug in JSONList - Ausgabe ungültig

Begonnen von Johannes, 08 Dezember 2013, 15:46:05

Vorheriges Thema - Nächstes Thema

Johannes

Hallo,

Habe gestern ein Update auf FHEM gemacht, voriges war schon eine Weile her.
Seitdem generiert mir der Aufruf von
jsonlist
eine ungültige JSON Ausgabe (z.B. prüfbar über http://jsonlint.com )

Es wird ein Objekt am Ende nicht geschlossen, oder mal wird vergessen ein Array zu schließen.
Das ist natürlich fatal für alle, die mit dem Befehl arbeiten.

Kann es mit dem letzten Commit an dem Modul zusammenhängen? :

http://sourceforge.net/p/fhem/code/3271/

Ich bekomme nämlich im Log die Meldung:

2013.12.08 15:47:04 3: JsonList: device (room=all) without TYPE

Kann bei mir kein solches Device finden, wo auch immer das herkommt....

Falls meine fhem.cfg benötigt wird bitte Bescheid geben. Eigentlich sollte aber, egal was in der cfg steht, keine ungültige Ausgabe bei jsonlist herumkommen...


Grüße,
Johannes


Johannes

Problem hat sich scheinbar seit heutigem Update wieder gelöst. Evtl. war FHEMWEB daran beteiligt, das lieferte mir gestern noch

Use of uninitialized value $type in hash element at ./FHEM/01_FHEMWEB.pm line 2097.

Ist jetzt aber verschwunden, JSON ist wieder valide, von daher alles gut :-)

Mitch

Hallo,

habe gerade das Front installiert und bekomme eine Fehlermeldung:

ZitatJsonList did not respond correctly. This is a bug in FHEM. This Frontend cannot work without a valid JsonList response. See this link for details and complain there: http://forum.fhem.de/index.php/topic,17292.msg113132.html#msg113132

diese verweist hier her, allerdings steht hier keine Lösung?
FHEM im Proxmox Container

Bkel

Gleiches Problem hier.

shutdown restart hilft bei mir immer kurzzeitig.

Boris

Mitch

Bei mir geht es jetzt, warum auch immer
FHEM im Proxmox Container

Bkel


seppy

Hallo Zusammen,

ich bekomme grundsätzlich unbrauchbaren JSON Response. Habe aber immer noch keine Ahnung warum.
Durch Anpassen der jsonlist.pm kann ich das zwar korrigieren, aber die Ursache muss wohl woanders liegen :-(

Johannes

Ich habe auch keinen Auslöser geschweige denn eine Lösung dafür gefunden.
Ich habe aber das Frontend vor einer Weile komplett auf jsonlist2 umgestellt (neues Modul).
Damit habe ich bisher keine Probleme. Sobald ich Zeit finde werde ich den aktuellen Code bereitstellen und im zugehörigen Thread Bescheid geben.
Grüße

seppy

Hallo Zusammen,

ich habe mir heute die jsonlist Ausgabe (bisher nur die Ausgabe) genauer angeschaut. Das erste Problem was mir aufgefallen ist liegt in jsonlist2. Ich wollte ursprünglich diese Funktion nutzen, da ich hier irgendwo gelesen habe, das die "alte" jsonlist sterben soll.

jsonlist2 liefert bei mir immer einen Fehler in der verarbeitenden Methode, da die eckigen Klammern fehlen:

jsonlist2:
{
Arg: "",
Results: [
  {
   Name: "WEB",
   PossibleSets: "clearSvgCache:noArg rereadicons:noArg",


jsonlist:
[
{
  ResultSet: "full",
  Results: [
   {
      list: "Global",


Das gleiche Problem habe ich bei jsonlist ROOMS:
{
ResultSet: "rooms",
Results: [
"Testraum",
"Testraum2",
"Testraum3",
"Testraum4",
"test"
],
totalResultsReturned: 5
}

Vielleicht bringt uns das weiter. In die Perlscripte schaue ich am Wochenende, aber perl ist nicht gerade meine Stärke  :P

Grüße,
Seppy

krikan

Poste das doch mal im richtigen Bereich; laut http://fhem.de/MAINTAINER.txt:
FHEM/98_JsonList2.pm         rudolfkoenig         http://forum.fhem.de Automatisierung
Oder lasst es dorthin verschieben.  Dort gibt es dann auch eher Chancen auf qualifizierte Antworten.....

seppy

Du hast recht. @Mod: bitte verschieben! Danke


Sent from my iPhone using Tapatalk

rudolfkoenig

Verschobene Threads kriege ich normalerweise nicht mit, bitte in sochen Faellen zusaetzlich einen neuen Thread im richtigen Forums-Bereich aufmachen.

jsonlist werde ich nicht fixen, da ich selbst Schwierigkeiten mit dem geerbten Code habe, und die "gefixte" Version heisst jsonlist2. Und es soll ja auch eine Motivation zum Umstieg geben.

jsonlist2 Probleme werde ich beheben, dazu brauche ich aber unbedingt eine (abgespeckte) fhem.config, damit ich das Problem selbst reproduzieren kann. Ein Screenshot von der (angeblich) fehlerhaften Stelle im JSON hilft mir nicht.

seppy

Werden auch die includes alle benötigt?
Anbei die fhem.cfg

rudolfkoenig

#13
ZitatWerden auch die includes alle benötigt?
Vermutlich ja. Ich habe mit diesem fhem.cfg und jsonlist2 eine Datei generiert, und sie http://jsonlint.com gezeigt, und sie meint:
Zitat
Valid JSON


Vielleicht ist es einfacher, die "kaputte" JSON Datei hier anzuhaengen, auch wenn das fuer mich wiederum mehr Arbeit bedeutet.

seppy

ok, hier noch die beiden include files.