FHEM Forum

FHEM => Frontends => FLOORPLAN => Thema gestartet von: Borkk am 20 Januar 2016, 17:16:49

Titel: [gelöst] Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: Borkk am 20 Januar 2016, 17:16:49
Dieser Eintrag hat mit meinen Bemühungen hier  http://forum.fhem.de/index.php/topic,47593.0.html  zu tun. Ich bin auf ein Verhalten gestoßen das normalerweise nicht stört. In meinem Fall verhindert es jedoch die Funktion die ich realisieren möchte.

Ich versuche es mal zu beschrieben.

Ruft man einen Floorplan auf und drückt z.B. auf das Symbol eines beliebigen Objekts um die entsprechende Funktion auszulösen (z.B. Homematic Schalter toggle) wird folgender URL Request erzeugt:

http://192.168.xx.xx:8085/fhem/floorplan/Wohnung?cmd.sz_schrank=set%20sz_schrank%20toggle&room=Schlafzimmer&XHR=1&fw_id=undefined

Der Befehl wird fehlerfrei ausgeführt, das Licht geht an. Drückt man danach das gleiche Symbol erneut um das Licht wieder auszuschalten wird dieser Request erzeugt.

http://192.168.23.24:8085/fhem?cmd.sz_schrank=set%20sz_schrank%20toggle&room=Schlafzimmer&XHR=1&fw_id=undefined

Auch wenn in dem String /floorplan/Wohnung fehlt wird der Befehl natürlich ordnungsgemäß ausgeführt. Es ist so, das nach Aufruf eines Floorplans nur der ERSTE Klick auf ein Objekt einen langen URL Request (also inkl. /floorplan/Wohnung)  erzeugt. Alle folgenden Klicks erzeugen die kurze Variante.

Ich habe über einen Reverse Proxy den Zugriff für einen separaten FHEMWEB auf einen speziellen Floorplan eingeschränkt. Das funktioniert soweit super allerdings nur beim o.g ersten Klick, da hier die Regel passt. Ein Zugriff auf /fhem und somit auf das gesamte System ist nicht möglich und auch nicht gewünscht. Das Ganze lässt sich im Chrome über "Prüfen" und "Network" recht einfach nachstellen.

Kann man da was konfigurieren oder liegt hier ein Fehler im FHEMWEB oder FLOORPLAN vor???
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: UliM am 20 Januar 2016, 17:57:54
Hi,
ist eher ein Fehler, der aber außer Dir scheinbar niemand Probleme bereitet.

Es gibt eine globale Variable, die von floorplan.pm mit dem den in Deinem Post rot markierten Teil befüllt wird. Fhemweb liefert den fertigen Link an floorplan zurück. Offenbar geht der Variableninhalt zur Unzeit flöten, oder die Variable wird in fhemweb nicht mehr berücksichtigt (unwahrscheinlich).

Bin derzeit krank und komme nicht an meine fhem-Programmierumgebung, es wird daher ne Weile dauern bis ich's mir anschauen kann.

Gruß, Uli
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: Borkk am 20 Januar 2016, 21:28:53
Danke  :)

Ich sitze schon einige Abende an dem Problem, da ich es zunächst in meiner Config vermutet habe. Jetzt kann ich alles fertig machen und wenn der Bug gefixt ist, geht auch der Rest. Super.

Gute Besserung !!!
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: Borkk am 25 Januar 2016, 14:41:08
Hallo Uli,

ich wollte fragen wie es dir geht und ob du schon Gelegenheit hattest, die Sache zu untersuchen.

Schon mal Danke für deine Zeit.
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: UliM am 25 Januar 2016, 19:10:10
Hi,
bin heute nach über einem Monat das erste mal wieder in meiner Wohnung und hab erstmal andere Prioritäten.
Ist aber nicht vergessen :)
Gruß, Uli
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: Borkk am 02 Februar 2016, 22:47:57
Super, ich habe meine "Netzklingel" jetzt am Start und sie funktioniert einwandfrei :-)

Leider wegen des o.g. Fehlers nur einmal. Man kann sich aber mit einem "neu laden" der Seite helfen.
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: Borkk am 13 Februar 2016, 09:59:00
Ich will nicht nerven aber wollte mal höflich fragen wie der Status ist.
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: UliM am 13 März 2016, 13:25:53
Hi,
wie hast Du denn die URL (lang/kurz) getestet? Ich seh die nirgends...?

Die Variable, um die es geht, heisst $FW_subdir

Analyse in FLOORPLAN
Sie wird auf "" gesetzt in #295, #381
Sie wird gefüllt in #323, #342,
Sie wird verwendet in #691 nur für Style 8

Analyse in FHEMWEB
Sie wird auf "" gesetzt in #301, #2541 - hier nur für FW_atPageEnd wiederhergestellt
Sie wird verwendet in
FW_addLinks #928,
FW_detailSelect #1143,
FW_pH #2075,
FW_pHPlain #2107, #2109,
FW_readIconsFrom #2278, #2287, #2300,
FW_Notify #2538,
FW_devState #2723

Irgendeins der auf "" setzen ist offenbar zu viel, ich hab #2541 in FHEMWEB in Verdacht bzw. den Umstand, dass die Wiederherstellung des Wertes nur bei FW_atPageEnd erfolgt, in allen anderen Fällen aber nicht.

Bevor ich beide Programme mit Debug-Einträgen zupflastere und dann rumteste - Fragen:

Gruß, Uli
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: Borkk am 14 März 2016, 16:07:10
Hallo Uli,

danke das du die Sache angehst, ich bin keine Entwickler, versuche aber mal so gut es geht zu antworten:

Welchen Style verwendest Du?
Dark, Darktouchpad und einen Eigenen, das Problem tritt aber unabhängig vom Style auf.

Wie schaust Du Dir die erzeugte URL an?
Ich habe bei Chrome mit der rechten Taste "Prüfen" aktiviert und dann den Reiter "Network". Wenn ich den Filter XHR aktiviere, sehe ich die erzeugte URL wenn ich auf das Icon klicke.

Klickst Du auf ein command oder auf das icon?
Ich klicke auf ein Icon. Es wird übrigens nach Aufruf des Floorplans bei jeden Icon beim ersten Klick die lange URL erzeugt. Also auch wenn ein anderes Icon schon mehrfach geklickt wurde.



Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: Borkk am 29 März 2016, 22:31:42
Konntest du mit meiner Antwort was anfangen ?
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: UliM am 17 April 2016, 12:52:17
Hi,
sorry für die lange Wartezeit.
Mit Style meinte ich nicht css-style, sondern den Floorplan-Style, der im fp-Attribut für das device angegeben ist, also 0 (Icon only), 1 (Name+Icon) usw., da ich vermutete, dass das bei der Fehlereingrenzung hilfreich sein könnte.

Hab jetzt mal geprüft, ob Floorplan.pm nach einem XHR-Click überhaupt aufgerufen wird - wird es nicht.
Wenn longpoll gesetzt ist, wird die Seite einmalig von floorplan.pm zusammengebaut. Nach einem Klick auf ein device wird dann der Link von on auf off (oder umgekehrt) aktualisert von longpoll.js . Ich vermute, dass dort ein link direkt auf das device gesetzt wird, eben ohne den "floorplan"-Teil in der URL. Offenbar enthält document.location.pathname nicht den floorplan-Teil des Pfads.

Da ich kein js kann, longpoll nur ansatzweise durchschaue und Rudi der maintainer ist, müsste ich Rudi bitten, sich das mal anzuschauen.

Gruß, Uli



Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: rudolfkoenig am 17 April 2016, 12:54:55
Und da ich kein Floorplan Experte bin, brauche ich ein vorbereitetes Beispiel.
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: UliM am 17 April 2016, 13:27:52
Hallo Rudi,
et voilà:
define lp_test FS20 1234 11
attr lp_test dummy 1
set lp_test on
define lp_testfp FLOORPLAN
attr lp_test fp_lp_testfp 100,250,0

Nun den Menüpunkt "Floorplans" aufrufen, dort lp_testfp aufrufen.

Bei erstmaligem klick auf das icon wird floorplan/lp_testfp/lp_test getriggert.
Ab dem zweiten klick auf das icon wird lp_test getriggert.
(siehe Startbeitrag)

Mangels Java-Console kann ich's leider nicht nachvollziehen. Siehst Du den Effekt?

Gruß, Uli
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: rudolfkoenig am 17 April 2016, 14:39:39
Ich sehe keinen Effekt, bei mir schaut es aus, wie auf dem angehaengten Screenshot.
Beim klick auf "lp_testfp" kommt in der JavaScript-Console:
Navigated to http://localhost:8083/fhem/floorplan/lp_testfp
fhemweb.js:282 14:35:14.556 Longpoll with filter fp_lp_testfp=.%2B;iconPath=lp_testfp

Keine Ahnung, ob das richtig ist.

P.S.:Wieso hast du keine JavaScript-Console? Bist mit Telefon/Tablet unterwegs?
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: Borkk am 22 April 2016, 22:24:06
Hallo,

sorry jetzt war ich ne Weile nicht hier, habe aber gesehen das sich was tut :-)

Uli konnte mein Problem ja genau nachstellen. Es hat ja keinen Einfluss auf die Funktion, da beide Trigger ausgeführt werden. Nur in meinem Fall blockt mein ReverseProxy den Zugriff auf den "kurzen" Link.

Kann ich noch noch irgendwas beitragen, das euch hilft?
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: rudolfkoenig am 24 April 2016, 19:43:45
Sicher: ein Test-Config hier anhaengen, womit auch ich das Problem nachvollziehen kann.
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: Borkk am 27 April 2016, 22:58:34
Hallo,

was genau meinst du mit Test-Konfig? Im Grunde reicht das was Uli gepostet hat. Es genügt ein Dummy an/aus Schalter auf einem leeren Floorplan und das Verhalten lässt sich nachstellen. Ich das Verhalten ja nur bemerkt, weil ich über einen vorgeschalteten ReverseProxy den Zugriff auf einen Floorplan eingeschränkt habe.

Da beim 2. Klick auf das Symbol die URL nicht mehr den Floorplan Namen enthält, blockiert der ReverseProxy den Zugriff. Ohne den Proxy geht auch der 2. Klick also die kurze URL. Ich bin vermutlich der Einzige der das Problem damit hat.
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: rudolfkoenig am 29 April 2016, 10:03:09
Ich habe das Problem gefixt, hoffentlich ohne Nebeneffekte.
Titel: Antw:Floorplan: Fehlerhafter URL Request ab 2. Klick
Beitrag von: Borkk am 30 April 2016, 23:46:15
Super, danke !!!! Es funktioniert  :)