Hauptmenü

Fehler: Uncaught ReferenceError

Begonnen von digiart, 23 Januar 2017, 12:03:38

Vorheriges Thema - Nächstes Thema

digiart

Hallo!

Ich hoffe, der Beitrag ist hier passend, da es (indirekt) den Floorplan betrifft:
Es gibt bei der Liste der Geräte im Floorplan-Device die Möglichkeit, die Position der Devices am Floorplan anzugeben. Wenn ich nun im Eingabefeld der Positionsangaben eine neue Zahl eintragen will, kommt die Fehlermeldung fhem?detail=Wohnung line 145:
Uncaught ReferenceError: increment is not defined

und der Wert wird nicht übernommen.
Das Gleiche direkt im Floorplan ausgeführt, funktioniert.

Wo könnte ich da nachforschen, bzw. wer sollte benachrichtigt werden?

FHEM ist aktuell (Update am 22..01.2017)
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

rudolfkoenig

Ich gehe bis auf Weiteres davon aus, dass es sich um ein Floorplan Problem handelt.

UliM

Spannend - zumal das bisher noch nicht auftrat.
Bin die Woche auf Dienstreise und nächstes WE verplant. Da es aber alternative Wege gibt ist's ja nicht soo dringend. Schaue es mir bei Gelegenheit an.
Gruß Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

digiart

Ist nicht dringend, ich wollt's nur auflisten.

Direkt im Floorplan funktioniert es ja.
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

Apollon

Hallo,

die Meldung taucht seit gestern urplötzlich auf.

Ich habe einen neuen Eintrag in einem Floorplan hinzugefügt und als ich die Standardposition ändern wollte tauchte die Meldung auf. Seit diesem Zeitpunkt erscheint die Meldung bei jedem Floorplan und jeder Positionsänderung auf. Über Attribute kann ich die Positionen der einzelnen Einträge noch ändern, aber das ist keine gute Lösung.

Ich habe auch in fhem.cfg nachgesehen, aber keinen Fehler entdeckt. Ich habe RPi und fhem mehrfach neu gestartet, hat aber keine Änderung bewirkt.

Ich hoffe es kann jemand helfen.

Gruß
Apollon

Apollon

#5
Hallo,

falls es jemanden interessiert. Ich habe den Fehler nicht beseitigen können. Vielmehr ist mir inzwischen die gesamte fhem-Installation abgeschmiert, so dass die Oberfläche nicht mehr gestartet werden konnte. Ich habe dann die geänderten Dateien gesichert und eine RPi-Sicherung aufgespielt. Nun läuft es wieder.

Gruß
Apollon

postman

Hallo zusammen,
Wenn ich ein Device im Floorplan  über die Attribute ändern will, kommt diese Fehlermeldung
fhem?detail=fp_Status line 1:
ReferenceError: increment is not defined


Wenn ich fp_arrange auf on setzen will oder den Schalter "attr" betätige , erhalte ich nur einen weißen Bildschirm zurück.
Einzig Änderungen direkt in der fhem.cfg werden noch übernommen. Das ist aber nicht wirklich eine Lösung.
Weiß vielleicht jemand Rat?
Ich möchte den FHEM nich neu aufsetzen.

Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Apollon

Hallo Uwe,

ich war etwas voreilig, als ich behauptet habe, dass alles wieder funktioniert. Bei mir tritt der gleiche Fehler auf. Ich kann nun wieder die einzelnen Werte ändern, doch bei Betätigen der attr-Taste werde ich z.B. auf die Seite http://rpi2:8083/fhem/floorplan/Wohnen umgeleitet. Zur Erklärung: "Wohnen" ist der Floorplan. Die Seite ist dann zunächst leer und nach Aktualisierung wird dann der Floorplan angezeigt.

Eine Lösung habe ich leider nicht. Ich werde ggf. den RPi noch mal neu aufsetzen und dann die aktuelle fhem.cfg einspielen.

Mir ist nicht klar, welche Aktionen zu den Problemen geführt haben. Sie traten aber auf, als ich das Geofancy-Modul und eine neues FHEMWEB-Modul installiert habe.

Gruß
Apollon

postman

Hallo Apollon,
Die Floorpläne funktionieren soweit noch; nur ändern lassen sie sich nicht mehr.
Glücklicherweise habe ich von der FHEM-Installation auf meinem RPi ein komplettes Image. Das habe ich mal eben zurückgespielt.
Da ich mehrmals täglich nach Änderungen meine fhem.cfg und die fhem.save sichere, läßt sich auch die Konfiguration relativ schnell wieder auf den neuesten Stand bringen. Jetzt funktioniert alles wieder  ;)
Allerdings habe ich jetzt noch kein Update eingespielt, darauf werde ich erst einmal verzichten, da wahrscheinlich da irgendwo ein Fehler eingeschlichen hat.
Das Image stammt vom Oktober letzten Jahres; da war wohl noch alles in Ordnung.
Vielleicht sollte man doch nach dem Motto "Never change a running system" verfahren.
Die beiden fhem-Dateien sichere ich übrigens mittels eines Batches und einem cronjob.
Das Batch sieht so aus:
#!/bin/bash
datum=$(date +"%Y-%m-%-d-%H-%M")
mkdir /media/FA4E-3645/$datum
cp  /opt/fhem/log/fhem.save /media/FA4E-3645/$datum/fhem.save
cp /opt/fhem/fhem.cfg /media/FA4E-3645/$datum/fhem.cfg
exit 0


Gruß
Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Apollon

Hallo,

ich finde, auf ein Update zu verzichten, ist keine Lösung.
Das Betätigen des attr-Button führt zu folgender Meldung im Eventmonitor:FHEMWEB WEB CSRF error: ne csrf_168390835325205. For detals see the csrfToken FHEMWEB attribute

Gruß
Apollon

postman

Hallo Apollon,
Es gibt zu der Sache mit dem Token ein Wiki.
Schau Dir das mal an.
Da wird eine Möglichkeit erklärt, diese Funktion zu deaktivieren.
Danach funktioniert auch der "attr"-Button wieder wie gewohnt.
Klick einfach hier FHEM 5.8 ist freigegeben und wird per update verteilt.
Bitte Aenderungshinweise beachten!
drauf. Dort ist ein Verweis auf das Wiki.

Gruß
Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Apollon

#11
Hallo Uwe,

das mit dem csrfToken  habe ich gerade gelesen, aber nicht verstanden. Ich habe die Notfallmaßnahme eingesetzt und das csrfToken-Attribut auf none gesetzt. Damit kann ich zwar den attr-Button im Floorplan wieder nutzen, aber ich kann dann keine Werte mehr ändern. Das bringt mich also nicht weiter.

Irdendwie muss ich den Token ins System bringen. Solche Probleme war ich von fhem bisher nicht gewohnt.

Gruß
Apollon

postman

Hallo Apollon,
Du hast recht; das habe ich nicht probiert gehabt. >:(
Bei mir springt FHEM dann auf die Seite unsorted zurück, sobald ich die Fehlmeldung wegdrücke.
Deiner Aussage
ZitatSolche Probleme war ich von fhem bisher nicht gewohnt.
kann ich nur zustimmen. Bisher lies sich irgendwie alles lösen.

Ich finde es schade, wenn es keine Möglichkeit gibt Funktionen, die ich nicht benötige, abzuschalten.
Da bleibt wohl vorerst nur die Möglichkeit auf Updates zu verzichten.
Ich habe, offen gestanden, auch nicht wirklich verstanden, welchen Sinn dieser Token macht.
Es geht aber wohl um Angriffe auf die Webseiten des FHEM aus dem Internet. Macht aber meines Erachtens nur Sinn, wenn der FHEM direkt im Internet sichtbar und erreichbar wäre (z.B. mit direkter Weiterleitung Port 8083 aus dem Internet in Heimnetz auf den FHEM). Nur wer bitte macht denn so etwas? 
Ich werde wohl deshalb erst mal das Ganze wieder nach Version 5.7 zurückstellen und bis auf weiters auf Updates verzichten.

Gruß
Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

rudolfkoenig

Ich habe die auch von FLOORPLAN benutzte FW_submit Funktion in 01_FHEMWEB.pm gaendert, so dass es den csrfToken mitgibt. In einem Beispiel-Floorplan wird mir jetzt keine Meldung mehr generiert, wenn ich attr klicke.

postman

Hallo Herr König,
danke für die Antwort. Eine Frage habe ich noch:
Wenn ich, wie im angehängten Bild, einen Wert im ausgewählten Device änderte, kam ebenfalls der Fehler. Nach dem Kllicken auf OK wurde, wie schon beschrieben, auf die Unsorted Seite zurückgesprungen. Ist das auch weg?

Gruß
Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Apollon

#15
Hallo Uwe,

nein, der Fehler ist nicht weg.
Es kommt nach wie vor der Fehler: fhem?detail=Wohnen line 1:
ReferenceError: increment is not defined

Das ist unabhängig vom Token.

Gruß
Apollon

postman

Hallo Apollon,
vielleicht sollte UliM mal darüberschauen.
Vielleicht weiss er, an welcher Schraube man drehen muss, damit es wieder funktioniert.
Also, erst mal abwarten,Tee (Kaffee) trinken und abwarten.  ;)

Gruß
Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

rudolfkoenig

ZitatReferenceError: increment is not defined
Der Fehler kommt, wenn www/pgm2/floorplan_drag.js nicht geladen wurde.
floorplan_drag.js wird bei mir nur dann geladen, falls fp_arrange gesetzt ist.

Ob es geladen wird, sieht man in der JS Console, Tab "Elements", <head> Aufklappen, es erscheint als /fhem/pgm2/floorplan_drag.js. In der Tab "Console" sollten keine Fehler auftauchen.

Apollon

Hallo,
wenn ich fp_arrange setze, habe ich das Menü im Floorplan. An dieser Stelle ist es aber nur störend.

Ich habe einen Floorplan geöffnet, die Javascript-Konsole geöffnet und unter Console nachgesehen. Hier steht 'Loading script /fhem/pgm2/sorttable.js' . Es sind keine Fehlermeldungen vorhanden. Dann habe ich noch unter Sources nachgesehen. Hier wird auch keine floorplan_drag.js aufgelistet.

Ich weiß nicht, ob das weiterhilft.

Gruß
Apollon

Persuasiv

Ich habe den gleichen Fehler ... Wenn ich im Eingabefeld der Positionsangaben eine neue Zahl eintragen will, dann kommt auch bei mir die Fehlermeldung:

Zitatfhem?detail=Messwerte line 1:
ReferenceError: increment is not defined

Apollon

Ich habe inzwischen den RPi neu aufgesetzt. Viele vorher installierte Pakete habe ich nun weggelassen. Fhem habe ich auch neu installiert. Meine alte Konfiguration habe ich behalten.

Der Fehler tritt nach wie vor auf. Die Suche nach den Fehler habe ich aufgegeben. :'(

postman

Hallo zusammen, Der Fehler taucht ja erst nach der Umstellung von  der Version 5.7 nach Version 5.8 auf.
Ich weiss leider nicht, welche Datei dafür zuständig ist, die die entsprechenden Aufrufe macht.
Ich habe noch irgendwo eine Version 5.7 liegen. Man könnte ja die entsprechende Datei mit der der Version  5.7 vergleichen.
Vielleicht hat sich da irgendwo ein .,-/ oder eine Variable an einer Stelle eingeschlichen, wo er/sie nicht hingehört oder er/sie fehlt schlicht und ergreifend.

Gruß Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Persuasiv


rudolfkoenig

Ist eigentlich nicht meine Baustelle, da es aber schon seit laengerem herumliegt, wuerde ich gerne helfen. Kann das Problem aber nicht reproduzieren: Wenn mir jemand dabei hilft (am besten mit kompletten fhem.cfg & Schritt-fuer-Schritt Anleitung), dann schaue ich mir die Sache an.

Persuasiv

#24
Ich kann dir ein entsprechendes Image zur Verfügung stellen. Die Reproduktion ist einfach. Siehe folgendes Minimalbeispiel:


  • Virtualbox öffnen und Kubuntu 17.04 installieren
  • fhem installieren (fhem-5.8.deb)
  • http://localhost:8083/fhem
  • kein fhem update etc. durchführen, kein Passwort setzen
  • define Test FLOORPLAN
  • define myTwilight Twilight 49.962529  10.324845 3 676757
  • http://localhost:8083/fhem?detail=Test
  • myTwilight add
  • Twilight select
  • jetzt versuchen die Position zu verändern, indem man versucht 250 anstatt 200 einzugeben
  • Der Fehler erscheint

rudolfkoenig

Danke, damit kann ich es reproduzieren.

FLOORPLAN rechnet nicht damit, dass DetailFn mit Parameter fuer Raumuebersicht aus der DetailAnsicht aufgerufen wird.

Als Workaround funktioniert
attr TYPE=FHEMWEB JavaScripts pgm2/floorplan_drag.js


Oder ich baue eine Ausnahme in FHEMWEB fuer FLOORPLAN ein, damit DetailFn hier nicht aufgerufen wird.
Falls jemand dafuer ist, bitte melden.

Persuasiv

Der Fix funktioniert! Besten Dank ...

Ich habe noch einen weiteren Floorplan-Bug gefunden. Wenn man fp_arrange auf 1 setzt und im Floorplan die Elemente verschiebt, dann kann man sie nicht auf der gleichen Höhe positionieren, wenn sie nicht vom gleichen Typ sind. Es ergibt sich ein 5px-Versatz, wenn man einen Variablenwert neben einer Beschriftung platziert. Es existiert scheinbar eine Art autoalign Funktion, die nicht korrekt arbeitet. Die Beschriftung erzeuge ich so:

Zitatdefine beschriftung_Sonnenuntergang weblink htmlCode Sonnenuntergang:


Falls noch Zeit ist, dann schau dir auch noch diesen Fehler hier an: https://forum.fhem.de/index.php/topic,77803.msg697251.html#msg697251

Apollon

Hallo,

das JavaScripts-Attribut funktioniert. Damit sind die Fehlermeldungen verschwunden.
Jetzt kann ich wieder im Floorplan die Änderungen vornehmen und muss nicht mehr die Attribute in den einzelnen Geräten ändern.

Super, vielen Dank.

Gruß
Apollon

postman

Hallo zusammen,
Danke, dass funktioniert wieder  :-* :-* :-*
Gruß
Uwe
Raspberry Pi Version 2 QUAD-CORE CPU und 1 GB RAM, CUL V3 868 MHz,  stapelbarer CC1101 (SCC) 433 MHz, Enocean-Stick,Jeelink-Stick, BSB-Lanadapter

Spruch eines Ausbilders: Theorie ist, wenn man alles weiss und nichts funktioniert; Praxis ist, wenn alles funktioniert und keiner weiss warum...

Invers

Zitat von: rudolfkoenig am 10 Oktober 2017, 17:13:58
Danke, damit kann ich es reproduzieren.

FLOORPLAN rechnet nicht damit, dass DetailFn mit Parameter fuer Raumuebersicht aus der DetailAnsicht aufgerufen wird.

Als Workaround funktioniert
attr TYPE=FHEMWEB JavaScripts pgm2/floorplan_drag.js


Ist zwar schon älter, aber ich habe den Fehler nun auch, obwohl ich fhem gerade neu installiere.
mit pgm2/floorplan_drag.js geht es nun, sollte aber dann vielleicht besser irgendwo dokumentiert werden.
Noch einfacher fände ich eine Integration, aber da hat sich ja damals niemand für ausgesprochen. Schade.
Trotzdem danke für den Tipp.

Oder ich baue eine Ausnahme in FHEMWEB fuer FLOORPLAN ein, damit DetailFn hier nicht aufgerufen wird.
Falls jemand dafuer ist, bitte melden.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2