FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: wowogiengen am 11 September 2025, 19:41:53

Titel: Problem mit JSONLIST2
Beitrag von: wowogiengen am 11 September 2025, 19:41:53
Hallo,
in der Commandref zu jsonlist2 steht:
ZitatJsonList2
jsonlist2 [<devspec>] [<value1> <value2> ...]

Dieses Befehl sollte in der FHEMWEB oder telnet Eingabezeile ausgeführt werden, kann aber auch direkt über HTTP abgerufen werden über
http://fhemhost:8083/fhem?cmd=jsonlist2&XHR=1
Es liefert die JSON Darstellung der internen Variablen, Readings und Attribute zurück.
Wenn valueX angegeben ist, dann wird nur der entsprechende Internal (DEF, TYPE, usw), Reading (actuator, measured-temp) oder Attribut zurückgeliefert für alle Geräte die in devspec angegeben sind.

Achtung: die alte Version dieses Befehls (jsonlist, ohne 2 am Ende) is überholt, und wird in der Zukunft entfernt.

Ich habe nun beim Beispiel die Basisadresse angepasst, und versuche
https://fhem4:8084/fhem?cmd=jsonlist2&XHR=1aufzurufen...
bekomme dann aber
GET https://fhem4:8084/fhem?cmd=jsonlist2&XHR=1 net::ERR_HTTP_RESPONSE_CODE_FAILURE 400 (Bad Request) in der Browserkonsole angezeigt...

jsonlist2 an sich funktioniert und gibt mit auch das aus was ich suche:
jsonlist2 LichtSchlafzimmerOben stategibt dann auch
{
  "Arg":"LichtSchlafzimmerOben state",
  "Results": [
  {
    "Name":"LichtSchlafzimmerOben",
    "Internals": { },
    "Readings": {      "state": { "Value":"off", "Time":"2025-09-11 18:52:56" } },
    "Attributes": { }
  }  ],
  "totalResultsReturned":1
}

Ich wollte das jetzt über javascript in einer eigenen index.html ausprobieren:



fetch("https://fhem4:8084/fhem?cmd=jsonlist2&XHR=1")
    .then(res => {
        if (!res.ok) throw new Error("HTTP " + res.status);
        return res.json();
      })

Leider bin ich da jetzt mit meinem latein am Ende, kenne mich nicht aus, was hier noch fehlt!
Titel: Aw: Problem mit JSONLIST2
Beitrag von: rudolfkoenig am 12 September 2025, 10:16:07
Das hat was mit den CSRF Schutzmassnahmen zu tun, die seit einiger Zeit per Voreinstellung aktiv sind:
https://fhem.de/commandref_modular.html#FHEMWEB-attr-csrfToken

Siehe auch https://wiki.fhem.de/wiki/CsrfToken-HowTo