Hallo!
Wenn ich ein attr ändern/erzeugen will, und auch wenn ich manche Devices oder Räume anklicke, krieg ich immer diese Meldung:
in Safari das:
fhemweb.js line 1079:
ReferenceError: Can't find variable: newEl
und in Chrome das:
fhemweb.js line 1079:
Uncaught ReferenceError: newEl is not defined
Was kann da schiefgegangen sein? Hab im Vorfeld Logfiles gelöscht! da ich platz brauchte!
War ein Fehler in dem gestern eingecheckten Version von fhemweb.js
Das Problem sollte nach einem update heute um 10:10 nicht mehr auftauchen.
danke für die schnelle Antwort! Habe jetzt update gemacht, aber es ist noch immer der selbe Fehler!
Evtl. fehlt ein reload im Browser. Habs gerade mit einem update geprueft: das Problem ist bei mir nicht mehr vorhanden, in der Zeile 1079 steht "var newEl = ...", in der alten Version stand "newEl = ...".
Hier gab es den Fehler nach einem Update von heute morgen auch und seit dem weiteren Vormittags-Update ist wieder alles ok.
Großen Dank an Rudolf für die schnelle Abhilfe!
ja der browser wars! danke für die Hilfe und grossartige Arbeit! Tut mir leid für die mühe auf browser neu starten hätte ich auch selbst drauf kommen können!
Hallo,
Habe Fhem bis jetzt problemlos auf einer Fritzbox 7490 mit Freetz laufen.
seit den letzten Updates bekomme ich aber bei Aufruf eines beliebigen "get" Befehl´s
z.B.:
beim CUL -> get nanoCUL version
oder im HMinfo Modul -> get hm configcheck
oder auch im httpmod Modul folgenden Fehler im Browser zurück...
beim Firefox:
fhemweb.js line 511:
TypeError: $(...).dialog is not a function
beim IE11:
fhemweb.js line 511:
Das Objekt unterstützt die Eigenschaft oder Methode "dialog" nicht
Die Readings werden jedoch aktualisiert.
ein Rücksichern einer alten Version der fhemweb.js bringt keinen Erfolg.
....
ein weiterer Fehler tritt beim Start von Fhem im Log auf:
Prototype mismatch: sub main::OldReadingsAge ($$$;$) vs ($$$) at /mod/external/usr/share/fhem/fhem.pl line 4192.
Prototype mismatch: sub main::ReadingsAge ($$$;$) vs ($$$) at /mod/external/usr/share/fhem/fhem.pl line 4238.
dieser Fehler ist jedoch nach Rücksichern auf eine alte Version der fhem.pl wieder verschwunden.
zur Info:
wenn ich jetzt das laufende FHEM auf einen RPI umziehen lasse, funktioniert alles ohne Fehler.
Ich möchte FHEM jedoch auf der Fritzbox mit Freetz weiterbetreiben...
Wie schon oben erwähnt lief alles problemlos, habe Updates durchgeführt und diese Fehler treten auf.
Kann mir jemand helfen???
MfG
Uwe
Zitatfhemweb.js line 511:
TypeError: $(...).dialog is not a function
Diese Meldung duerfte dann der Fall sein, wenn www/pgm2/jquery-ui.min.js nicht geladen wurde. Evtl. wurde die Datei geloescht, ist korrupt, oder aus anderen Gruenden nicht lesbar. Sie wurde seit 3 Jahren nicht angefasst.
Gibt es diesbezuegliche Hinweise in der JS-Console?
ZitatPrototype mismatch: sub main::OldReadingsAge ($$$;$) vs ($$$) at /mod/external/usr/share/fhem/fhem.pl line 4192.
Wurde bereit im Thema #69743 gemeldet, und gestern gefixt.
Sonst: Bitte Probleme, die mit dem Urspruenglichen nichts zu tun haben, in einem Neuen Thema melden, auch wenn der ungluecklich gewaehlte Betreff einen dazu verleitet. Sonst kommt der Naechste mit dem Betreff: "Habe ein Problem".
Hallo rudolfkoenig,
WOW Danke.
Es lag an der Datei jquery-ui.min.js obwohl die Dateigröße, die Rechte und auch das alte Datum iO waren.
Jedoch ist in der Datei jquery-ui.min.js in Zeile 48 und Spalte 1022 nach dem Eintrag
break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D")
Schluß und es folgten jede Menge Leerzeichen... weiter ging es dann in Zeile 51 Spalte 1
Habe nun die alte Datei aus meiner Sicherung zurückgesichert und alles ist gut.
Mir fällt noch ein,
ich hatte in den letzten Tagen auch Probleme mit einem fehlerhaften Update der 98_HMinfo.pm Datei.
In dieser war ein Fehler, welcher vom Author jedoch schon gefixt wurde.
Vielleicht war ja dies der Grund für die zerschossene jquery-ui.min.js....
Den Fehler mit dem "Prototype mismatch:" hatte ich nur erwähnt,
weil ich dachte, es könnte hiermit zusammenhängen...
Danke nochmal
Viele Grüße
Uwe
Beim Update von fhemweb.js haben sich Fehler eingeschlichen.
Am Ende von den Zeilen 312 und 316 fehtl das Semikolon.
Außerdem erhält man folgende Fehlermeldung, wenn man in einem Device ein Attribut wählt und dann in das Eingabefeld klickt:
fhemweb.js line 312:
TypeError: (mtype + val).replaceAll is not a function
Die Semikolons habe ich mal eingefügt, die Fehlermeldung kommt aber auch nach Neustart weiterhin. Kenne mich mit Perl zu wenig aus, um weiterzusuchen.
fhemweb.js ist JavaScript, und da werden fehlende Strichpunkte nicht so eng gesehen.
Wie genau kann man das Problem reproduzieren?
Zitat von: rudolfkoenig am 02 Dezember 2020, 11:45:52
fhemweb.js ist JavaScript, und da werden fehlende Strichpunkte nicht so eng gesehen.
Wie genau kann man das Problem reproduzieren?
oh erwischt ... auch Javascript ist nicht meine Stärke ;)
Ich habe jetzt einmal verschiedene meiner Devices ausprobiert ... es passiert immer. Das vorausgewählte Attribut bei jedem Device ist ja "room". Stelle ich aufein anderes Attribut um, tritt der Fehler sofort auf. Ich muss gar nicht erst in das Eingabefeld dahinter klicken. Habe auch mal ausprobiert, ob es mit userattr erstellte eigene Attribute betrifft ... macht keinen Unterschied. Vor dem letzten Update vor 2 Tagen trat das Problem nicht auf.
Hilft Dir diese Beschreibung?
PS.: Wie kann man aus Github eine alte Datei-Version holen? Dann würde ich das mal probieren, um zu sehen, ob der Fehler wirklich wieder weg ist.
... hab's gefunden: History
Kann man auch mit Fhem selbst eine alte Version einer einzelnen Datei aus Github laden?
Zitat von: jannis am 02 Dezember 2020, 12:56:56
PS.: Wie kann man aus Github eine alte Datei-Version holen? Dann würde ich das mal probieren, um zu sehen, ob der Fehler wirklich wieder weg ist.
... hab's gefunden: History
Kann man auch mit Fhem selbst eine alte Version einer einzelnen Datei aus Github laden?
So, habe jetzt die vorherige Version von fhemweb.js über die aktuelle bei mir überschrieben .... und das Problem tritt nicht mehr auf.
Hoffe, das hilft Dir weiter.
ZitatHilft Dir diese Beschreibung?
Nein. Ich kann es bei mir nicht nachstellen, hab deswegen gefragt. Kannst Du die "list-r" Ausgabe eines Problemgeraetes hier anhaengen?
ZitatWie kann man aus Github eine alte Datei-Version holen?
Keine Ahnung, das was auf github rumliegt (wenn was rumliegt), ist nicht die offizielle Version.
Du kannst es hier versuchen: https://svn.fhem.de/trac/browser/trunk/fhem
Zitat von: rudolfkoenig am 02 Dezember 2020, 13:20:27
Nein. Ich kann es bei mir nicht nachstellen, hab deswegen gefragt. Kannst Du die "list-r" Ausgabe eines Problemgeraetes hier anhaengen?
Gerne:
define AB_Gr_Ge_Gefrierschrank dummy
attr AB_Gr_Ge_Gefrierschrank userattr my_Programm my_Warntemperatur_1 my_Warntemperatur_2 my_Warntemperatur_3
attr AB_Gr_Ge_Gefrierschrank alias Gefrierschrank
attr AB_Gr_Ge_Gefrierschrank comment Warnstufen: \
1=einfache Warnung, minimale Überschreitung \
2=deutliche Abweichung aber Lebensmittel verderben noch nicht.\
3=Bei einer höheren Temperatur als -18°C fangen Bakterien wieder an aktiv zu werden. Hält der Zustand mehrere Tage an, verderben Lebensmittel.\
\
Programme: aus, einschalten, frieren, schockfrieren, abtauen\
"einschalten" dient dazu, nicht ständig Warnmeldungen zu erhalten, wenn der Gefrierschrank in Betrieb genommen wird. \
Evt. sollte das Programm dann automatisch nach einiger Zeit auf "frieren" umschalten.\
Bei "abtauen" unterbleiben auch die Warnmeldungen wegen des Temperaturanstiegs.\
Beim "schockfrieren" könnte auch nach gewisser Zeit wieder auf "frieren" zurückgesprungen werden.\
STATE: ok, Warnungen\
\
Siehe auch: Themperatursensor_14
attr AB_Gr_Ge_Gefrierschrank group Gerät
attr AB_Gr_Ge_Gefrierschrank my_Warntemperatur_1 -20
attr AB_Gr_Ge_Gefrierschrank my_Warntemperatur_2 -19
attr AB_Gr_Ge_Gefrierschrank my_Warntemperatur_3 -17.9
attr AB_Gr_Ge_Gefrierschrank room Haus->Außenbereich->Garage,Technik->Geraete
attr AB_Gr_Ge_Gefrierschrank userReadings temperature { ReadingsVal("AB_Gr_Ts_Temperatursensor_14","temperature",0) }
setstate AB_Gr_Ge_Gefrierschrank ok
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 14:26:56 state ok
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 22:11:56 temperature -33
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 22:11:56 temperature_avg_day -0.5
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 22:11:56 temperature_avg_month -0.3
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 22:11:56 temperature_cum_day -42851.6
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 22:11:56 temperature_cum_month -42851.6
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 19:55:32 temperature_max_day 0
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 19:55:32 temperature_max_month 0
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 22:11:56 temperature_min_day -33.0
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 22:11:56 temperature_min_month -33.0
setstate AB_Gr_Ge_Gefrierschrank 2020-12-01 20:18:48 testread 1
Wenn Du mehr brauchst, sag Bescheid.
Kann es damit auch nicht nachstellen.
Ich habe in fhemweb.js was angepasst, was das Problem vermutlich behebt, ich wuesste aber trotzdem gerne, was die eigentliche Ursache ist.
Zitat von: rudolfkoenig am 02 Dezember 2020, 13:55:09
Kann es damit auch nicht nachstellen.
Ich habe in fhemweb.js was angepasst, was das Problem vermutlich behebt, ich wuesste aber trotzdem gerne, was die eigentliche Ursache ist.
Gut, ich mache ein Update und gebe gleich Bescheid.
Zitat von: jannis am 02 Dezember 2020, 14:00:40
Gut, ich mache ein Update und gebe gleich Bescheid.
So, Update gemacht und jetzt tritt das Problem leider wieder auf. Habe ich das Update zu früh gemacht ... Deine Änderungen vielleicht noch nicht online?
Die Aenderungen sind im SVN, fuer FHEM-Updates sind die erst morgen ab acht verfuegbar.
Habe die Änderung in mein fhemweb.js eingefügt. Eine Fehlermeldung kommt aber immer noch an der selben Stelle:
fhemweb.js line 312:
TypeError: ((mtype + " ") + val).replaceAll is not a function
Ich habe dasselbe Problem.
Der Fix besteht darin, in fhemweb.js die Konkatenation und Replace auseinanderzuziehen.
var mv = mtype+val
mv = mv.replaceAll(/[^a-z0-9_]/ig,'_')
Warum das aber so ist, verstehe ich auch nicht. Ich bin kein JavaScripter, aber hätte auch gedacht, dass es mit Klammern auch so funktionieren müsste.
Vielleicht ist das Browser-spezifisch? Ich verwende Vivaldi (2.5.1525.46)
jannis: das was du eingebaut hast, ist nicht das, was ich geaendert habe. Vermutlich hat dein "Fix" meiner Aenderung aber keine Auswirkung auf die Fehlermeldung.
@zockz: wenn deine Aenderung was bewirkt, dann bin ich sehr ueberrascht, und ich uebernehme es solange nicht, bis ich das selbst nicht nachstellen kann :)
Ich bekomme den Fehler jedesmal, wenn ich in einer Combobox (z. B. set-Menü eines Device) irgendwas auswähle.
Vermute aber nicht, dass das überall so ist, sonst wären die Beschwerden lauter ;-)
@jannis: welchen Browser verwendest Du?
Add. 1: Ich hab mal ein paar andere Browser ausprobiert: Chrome, Firefox und Edge scheinen kein Problem zu haben, IE classic wirft denselben Fehler.
Add. 2: Update von Vivaldi hat das Problem ebenfalls gelöst, also eher ein Browserbug.
Zitat von: zockz am 02 Dezember 2020, 15:35:37
@jannis: welchen Browser verwendest Du?
Recht alten Firefox 66.03 ... weil ich im Augenblick leider keine Zeit habe, ein großes Upgrade meiner ebenfallls älteren Linux-Distribution vorzunehmen. Vielleicht schaffe ich es Weihnachten.
... das Linux für FHEM auf dem Raspberry Pi ist aber topaktuell.
Mir fiel gerade noch etwas auf:
Wählt man auf der Device-Seite ein Attribut
1. über die Auswahlliste "attr": tritt das genannte Problem auf.
2. durch Anklicken eines Attributes, das man bereits mit einem Wert befüllt hat, aus der Auflistung Attributes: tritt das Problem NICHT auf.
Hoffe, nun ist alles klar :)
Klar im Sinne von: ich habe das Geschriebene verstanden: ja
Klar im Sinne von: ich kann es nachstellen: nein.
Zitat von: rudolfkoenig am 02 Dezember 2020, 18:28:23
Klar im Sinne von: ich kann es nachstellen: nein.
Wie gesagt, liegt wohl an der Browserversion bzw. der veralteten JavaScript-Engine.
@jannis: versuch doch mal, die Zeile 312 in fhemweb.js durch die beiden von mir oben zu ersetzen, bis Du den Browser aktualisieren kannst.
Zitat von: zockz am 02 Dezember 2020, 19:09:24
@jannis: versuch doch mal, die Zeile 312 in fhemweb.js durch die beiden von mir oben zu ersetzen, bis Du den Browser aktualisieren kannst.
Hab ich gemacht ... gleiche Fehlermeldung:
fhemweb.js line 315:
TypeError: mv.replaceAll is not a function
Ich vermute mal, meine Javascriptengine kennt den Befehl "replaceAll" nicht.
... und noch ein wenig gegraben und siehe da: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll#Browser_compatibility (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll#Browser_compatibility)
"replaceAll" geht erst ab Firefox 77 ... und ich habe 66 :(
Das habe ich bei stackoverflow.com zu replaceAll gefunden:
Use replace instead of replaceAll with a regular expression with the global modifier for better browser support.
let string = ":insertx: :insertx: :inserty: :inserty: :insertz: :insertz:";
let newstring = string.replace(/:insertx:/g, 'hello!');
console.log(newstring);
If you don't want to upgrade your Chrome nor use reg expressions (since they're less performant), you can also do this:
let string = ":insertx: :insertx: :inserty: :inserty: :insertz: :insertz:";
let newstring = string.split(":insertx:").join('hello!');
Habe replaceAll durch replace ersetzt.
Zitat von: rudolfkoenig am 02 Dezember 2020, 22:45:16
Habe replaceAll durch replace ersetzt.
Danke Rudolf, das war's.
Hallo zusammen,
ich habe heute nach dem Update folgende Fehlermeldung:
fhemweb.js line 1262:
ReferenceError: shift is not defined
Der Fehler tritt auf, wenn ich innerhalb eines device auf die Log-Datei, die unter "Probably associated with" aufgeführt ist, zugreifen möchte.
Was werden noch für Infos gebraucht?
Norbert
Gleiche Fehlermeldung bei mir. Der Fehler tritt bei mir aber auf, wenn ich im Webinterface ein beliebiges Notify versuche zu öffnen.
Gruß
P.S.: Rückgängig machen der gestrigen Änderungen beseitigt den Fehler wieder.
Danke fuer den Hinweis, habs gefixt
Danke!!