Hauptmenü

Unexpected end of JSON input

Begonnen von wg25, 25 August 2021, 10:47:04

Vorheriges Thema - Nächstes Thema

wg25

Moin,

nachdem ich meine ersten Spielereien mit FHEMApp durch habe (ich find's super) und die Seite am PC (Windows) und auf dem Smartphone (Android mit Fully und Chrome) ohne Probleme läuft, macht mein etwas betagteres Galaxy Tab 3 10.1" mit LineageOS 14.1 Probleme. Egal ob mit Fully oder dem internen Browser bekomme ich eine Fehlermeldung:

Request failed http://xxx:8083/fhem?
fwcsrf=csrf_xxxxxxxxxxxxxxxxxx&XHR=1&cmd=jsonList2%20appOptions!%3D%20appOptions%20room%20group
Unexpected end of JSON input

Mus  auf dem Tablet noch etwas installiert bzw. "erlaubt" werden? Wenn ja, was könnte das sein?

Danke und Gruß
Arne

jemu75

Zitat von: wg25 am 25 August 2021, 10:47:04
Moin,

nachdem ich meine ersten Spielereien mit FHEMApp durch habe (ich find's super) und die Seite am PC (Windows) und auf dem Smartphone (Android mit Fully und Chrome) ohne Probleme läuft, macht mein etwas betagteres Galaxy Tab 3 10.1" mit LineageOS 14.1 Probleme. Egal ob mit Fully oder dem internen Browser bekomme ich eine Fehlermeldung:

Request failed http://xxx:8083/fhem?
fwcsrf=csrf_xxxxxxxxxxxxxxxxxx&XHR=1&cmd=jsonList2%20appOptions!%3D%20appOptions%20room%20group
Unexpected end of JSON input

Mus  auf dem Tablet noch etwas installiert bzw. "erlaubt" werden? Wenn ja, was könnte das sein?

Danke und Gruß
Arne

Hallo Arne, spezielle Installationen sind meiner Meinung nach nicht  notwendig. FHEMApp läuft ganz normal im Browser. (nutzt dabei HTML, JavaScript, css) Es sieht so aus, als ob der fhembefehl jsonList2 ein unvollständiges Ergebnis liefert. Kannst du den Befehl bitte mal direkt in fhem aufrufen.

jsonList2 appOptions!= appOptions room group

Was wird da in Fhem zurück geliefert?

wg25

{
  "Arg":"appOptions!= appOptions room group",
  "Results": [
  {
    "Name":"Aussentemp",
    "Internals": { },
    "Readings": { },
    "Attributes": {
      "appOptions": "{ \"template\": \"thermometer\" }",
      "group": "Klima",
      "room": "4_Außen"
    }
  },
  ...
  ...
  ...
    }
  }  ],
  "totalResultsReturned":39
}


Es werden alle Devices aufgelistet, die ein appOptions Attribut haben, 39 Stück an der Zahl.

jemu75

Zitat von: wg25 am 26 August 2021, 08:08:13
{
  "Arg":"appOptions!= appOptions room group",
  "Results": [
  {
    "Name":"Aussentemp",
    "Internals": { },
    "Readings": { },
    "Attributes": {
      "appOptions": "{ \"template\": \"thermometer\" }",
      "group": "Klima",
      "room": "4_Außen"
    }
  },
  ...
  ...
  ...
    }
  }  ],
  "totalResultsReturned":39
}


Es werden alle Devices aufgelistet, die ein appOptions Attribut haben, 39 Stück an der Zahl.

Ich könnte mir vorstellen, dass das ein Laufzeitproblem ist. Wenn das Gerät schon etwas älter ist, benötigt das Laden und Parsen der JSON Daten ggf. zu lang, sodass JSON Daten "verschluckt" werden. Wenn es vom Aufwand her vertretbar ist, kannst du die Anzahl der Devices mal reduzieren. Wenn das mit 1-2 Devices dann funktioniert, wäre meine Vermutung bestätigt. Um die Anzahl zu reduzieren, könntest du in deiner fhem.cfg alle Vorkommen von appOptions mal in _appOptions umbenennen. Danach 1-2 Devices wieder in appOptions ändern. Nach dem Test kannst du _appOptions wieder in appOptions umbenennen.

Ich kann im Moment leider nichts am Sourcecode machen, würde mich aber ransetzen, wenn ich mit meiner Vermutung richtig liegt und dein Test das bestätigt.

Beste Grüße
Jens :)

wg25

Zitat von: jemu75 am 27 August 2021, 14:38:23
Ich könnte mir vorstellen, dass das ein Laufzeitproblem ist. Wenn das Gerät schon etwas älter ist, benötigt das Laden und Parsen der JSON Daten ggf. zu lang, sodass JSON Daten "verschluckt" werden. Wenn es vom Aufwand her vertretbar ist, kannst du die Anzahl der Devices mal reduzieren. Wenn das mit 1-2 Devices dann funktioniert, wäre meine Vermutung bestätigt. Um die Anzahl zu reduzieren, könntest du in deiner fhem.cfg alle Vorkommen von appOptions mal in _appOptions umbenennen. Danach 1-2 Devices wieder in appOptions ändern. Nach dem Test kannst du _appOptions wieder in appOptions umbenennen.

Leider kein Erfolg. PC und Smartphone zeigen die zwei verbliebenen Devices an, das Tablet leider nicht.

jemu75

Zitat von: wg25 am 27 August 2021, 17:04:50
Leider kein Erfolg. PC und Smartphone zeigen die zwei verbliebenen Devices an, das Tablet leider nicht.

Hallo, ich habe mir das eben noch mal angesehen. Hast du in deinem FHEM-Device FHEMWEB das Attribute CORS 1 gesetzt? Wenn nicht mach das mal bitte un probiere es dann noch mal.

Beste Grüße
Jens.