Abruf von Readings über das WebInterface funktioniert nicht

Begonnen von auge, 25 September 2020, 09:06:31

Vorheriges Thema - Nächstes Thema

auge

Hallo,

versuche Readings über die Web-Schnittstelle abzurufen.
Leider gelingt mit das nicht.

http://localhost:8083/fhem?cmd=jsonlist2&XHR=1

Es erscheint "Diese Seite funktioniert nicht".

Muss man da vorher im Webinterface noch was aktiveren?
Der Aufruf von selbst Fhem funktioniert selbstverständlich.

http://localhost:8083/fhem

Was mache ich falsch?

Viele Grüße
Auge


MadMax-FHEM

Evtl. csrfToken!?

Steht etwas im fhem Log!?

Sowas wie:


2020.09.25 09:24:02 3: FHEMWEB WEB CSRF error:  ne csrf_XXXXX for client WEB_192.168.10.140_65502 / command jsonlist2. For details see the csrfToken FHEMWEB attribute.


Und wirklich: localhost!!?

Also fhem auf einem "Rechner" MIT Desktop!!?

Naja: musst du wissen...

Empfehlung: OHNE Desktop (ist ja immerhin ein "Server-like" System)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

auge

Ja, das ist es.
mit abgeschalteten Token funktioniert es.

attr WEB.* csrfToken none

Jetzt muss ich mal verstehen was ich mir mit dem Attribut einfange und ob es alternativen gibt.
Möchte Node-RED koppeln und gezielt Readings abholen.

Jetzt habe ich wohl 3 Möglichkeiten.
1. Token ausschalten
2. Festen Token vergeben
3. Token irgenwie ermitteln und im Request verwenden

Was macht da Sinn?

ZitatAlso fhem auf einem "Rechner" MIT Desktop!!?
Nutze natürlich nutze ich sonst einen externen Zugang. Für meine geplante Node-RED Anwendung ist es aber dann tatsächlich localhost.
Wollte nur alle Eventualitäten wie Firewall oder die Fitzbox ausschließen.

MadMax-FHEM

#3
Naja, ich würde mal lesen WAS csrf "ist" und ergo wofür dann der Token gut ist!

Ich würde mindestens 2. nehmen!

Weil (mal ehrlich): der Token wird bei einem fhem Neustart "generiert". fhem soll ja (eigentlich bzw. tut es bei mir) möglichst lange laufen (ohne Neustart) -> ergo der Token ändert sich nicht (ist quasi "statisch")...

Kein Token wäre für mich (genannte Gründe bzw. eben mal csrf lesen) KEINE Option.

Zusätzlich kannst du (würde ich und habe ich so für meinen Magic Mirror, das verwendete "Plugin" für fhem kann auch nur max. fixen Token) einen weiteren Web-Zugang für NodeRed anlegen (also ein weiteres fhem-Web-Device mit anderem Port natürlich ;)  ).
Wenn du dafür "global" beim define weglässt, funktioniert es eh nur "localhost".

Also:


define WebNodeRed FHEMWEB 8084 global


vs.


define WebNodeRed FHEMWEB 8084


Ersteres ist aus dem gesamten lokalen Netz erreichbar...
...zweiteres nur von localhost...

Ansonsten kannst du noch mittels "allowed" und bestimmter Attribute beim neu angelegten fhem-Web "einschränken"...

Da ich nicht "localhost" zugreife (nat. läuft auf dem Magic Mirror kein fhem ;)  ) habe ich allowed usw. mit entsprechenden Einstellungen (z.B. von welcher IP aus zugegriffen werden darf, also NUR Magic Mirror in meinem Fall / fällt bei dir weg wegen kein "global" bei define des neuen fhemWeb und somit eh nur localhost / ist halt dann schwer zu testen, wenn man eben nicht localhost ist ;) )

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

#4
Hi,

anstatt abschalten, einfach verwenden :)
https://wiki.fhem.de/wiki/CsrfToken-HowTo

Node-Red ist jetzt dummerweise JavaScript? Dafür gibt es jetzt noch kein Beispiel im Wiki -> Mach bitte eins :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz