FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: TomLee am 17 Juni 2020, 16:07:46

Titel: Wann bin ich in der Detailansicht ?
Beitrag von: TomLee am 17 Juni 2020, 16:07:46
Hallo,

war bisher der Meinung ich bin in der Detailansicht eines Geräts wenn oben auch die DeviceOverview angezeigt wird.

Bei allen globalen Variablen die hier (https://wiki.fhem.de/wiki/DevelopmentFHEMWEB-API) unter FHEMWEB-Server (pgm2) Perl-Funktionen beschrieben sind bekomme ich was zurück wenn ich sie über die Kommandozeile abrufe, nur nicht bei $FW_detail.

Hab nichts besonderes vor mir gehts bloß ums Verständnis wo ich den genau stehen muss das der Devicename zurückgeliefert wird ?

Gruß

Thomas
Titel: Antw:Wann bin ich in der Detailansicht ?
Beitrag von: amenomade am 17 Juni 2020, 19:10:11
Du bist im detail Ansicht, wenn die URL "fhem?detail=" enthält.
Nur... wenn Du was in der Kommandozeile eingibst, wechselst Du zu "fhem" ohne "?detail" dahinten. Dann ist $FW_detail leer.

Machst Du dagegen:
defmod testfw dummy
attr testfw stateFormat { return $FW_detail }

und machst Du dann irgendein "set" (per Klick über die Weboberfläsche aus dem detail Ansicht, damit er nicht zurück zu "fhem" wechselt sondern auf dem Device bleibt), erhälst Du "testfw" im state
Titel: Antw:Wann bin ich in der Detailansicht ?
Beitrag von: TomLee am 17 Juni 2020, 20:16:44
Ok, Danke.

Hab immer noch kein Ziel, aber weitere Fragen stellen sich trotzdem.

Eigentlich geb ich es ja in der "fhem?detail="-Ansicht ein, könnte man jetzt nicht sagen was kümmerts den Rückgabewert wo er ausgegeben wird, die Anfrage wurde ja in der "fhem?detail="-Ansicht gemacht ? Interessiert mich aber weniger.

Die Antwort verstehe ich jetzt so das ich aus jedem Attribut in welchem ich Perl verwenden kann (habs auch in devstateIcon probiert) auf $FW_detail Zugriff hab, weil das dann in  der "fhem?detail="-Ansicht ausgewertet wird, wo/wie bzw.welche Möglichkeit hat man sonst noch Zugriff auf die Variable zu haben oder ist sie genau dafür da in Attributen Zugriff auf sie zu haben ?
Titel: Antw:Wann bin ich in der Detailansicht ?
Beitrag von: amenomade am 17 Juni 2020, 20:59:47
Ein "set testfw 1" durch die Oberfläsche macht ein
POST ...?detail=testfw&dev.settestfw=testfw&fwcsrf=csrf_304766131289192&cmd.settestfw=set&val.settestfw=1
anschliessend wird die Seite wieder weitergeleitet (redirect 301) aufs detail Ansicht von testfw.

Dagegen ein "set testfw 1" durch die Kommandozeile (oder ein Perl Kommando) macht ein
POST ...?fwcsrf=csrf_304766131289192&cmd=set+testfw+1
anschliessend wird er nach Hauptseite weitergeleitet .

Schon im POST hat er keine Ahnung mehr, wo er war.

ZitatDie Antwort verstehe ich jetzt so das ich aus jedem Attribut in welchem ich Perl verwenden kann (habs auch in devstateIcon probiert) auf $FW_detail Zugriff hab, weil das dann in  der "fhem?detail="-Ansicht ausgewertet wird,
Nein, weil
- man auch ein Attribut durch das Kommando "attr" in der Kommandozeile setzen kann
- ein attr kann auch, ohne dass man in irgeneinem detail Ansicht ist, von einem Modul im Hintergrund ausgewertet werden.

Zitatwo/wie bzw.welche Möglichkeit hat man sonst noch Zugriff auf die Variable zu haben
Man hat Zugriff auf die Variable, wenn man im detail Ansicht ist, und dort in der pgm2 UI irgendwas machen will. Z.B. kannst Du ein Popup generieren, das diesen Wert enthält.