Fehlermeldung aus fhemweb.js

Begonnen von betateilchen, 18 April 2022, 15:08:33

Vorheriges Thema - Nächstes Thema

betateilchen

Wenn ich in der Detailansicht eines device auf einen Attributnamen klicke, um das Attribut zu ändern, bekomme ich seit kurzem öfters die im Anhang gezeigte Fehlermeldung.
Die Meldung erscheint aber nicht immer, eine Systematik habe ich aber noch nicht herausgefunden.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Es geht um die Anzeige der Hilfe fuer das Attribut, da ist wohl im Hilfetext was Unerwartetes drin.
Kannst Du bitte Modul und Attribut nennen?

betateilchen

ah, das ist natürlich eine Erklärung.

In devices vom TYPE=HTTPMOD gibt es Attribute wie "reading01Name" die in der exakten Ausprägung des Namens nicht in der commandref vorkommen. Dort steht "reading[0-9]+Name".

<a id="HTTPMOD-attr-reading[0-9]+Name" data-pattern="reading[0-9]+Name">reading[0-9]+Name</a>
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Es geht um ein Doku-Stueck mit einem data-pattern. Laut
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Groups_and_Ranges
haben "Named Capture Groups" den Form (?<name>...), und damit waere data-pattern="(get|reading).*(?<![IOe])Expr" ein Fehler.
Laut Internet regt sich nur Safari auf, Chrome hat damit kein Problem.


Ich habe die HTTPMOD-Doku ueberflogen, und ich werde den Eindruck nicht lost, dass es da mit mit dem Regexp uebertrieben wurde, und das Ganze eigentlich anders gemacht werden muesste.
Weiss nur nicht, wie.

betateilchen

Könnte man nicht die Anzeige der Attribut-Hilfe in eine eigene .js Datei auslagern?
Dann kann der Anwender mit dem ohnehin schon vorhandenen Attribut "JavaScripts" in der FHEMWEB Instanz das Suchen/Laden/Anzeigen der Attribut-Hilfe komplett abschalten, wenn man sie ohnehin nicht braucht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Auslagern ist moeglich, mir ist aber nicht klar, wie durch das JavaScripts Attribut die Hilfe abschaltbar sein sollte.

Einfacher waere ein weiteres FHEMWEB Attribut wie confirmJSError einzufuehren, diese werden weitergereicht und in JS ausgewertet. Allerdings sind das zwei unterschiedliche Baustellen: keine Hilfe anzeigen und die Hilfe reparieren.

betateilchen

Zitat von: rudolfkoenig am 18 April 2022, 16:57:45
mir ist aber nicht klar, wie durch das JavaScripts Attribut die Hilfe abschaltbar sein sollte

Angenommen, die Auslagerung hieße "fhemweb_attrhelp.js", dann könnte man doch durch

attr web JavaScripts -fhemweb_attrhelp.js

das Laden der entsprechenden .js Datei abschalten.
Das mache ich doch auch mit anderen .js Dateien, die ich nicht brauche, schon lange so.

Zitat von: rudolfkoenig am 18 April 2022, 16:57:45
zwei unterschiedliche Baustellen: keine Hilfe anzeigen und die Hilfe reparieren.

Reparieren ist natürlich immer sinnvoll, schon klar.
Mir würde aber das Abschalten reichen, dann wäre mir ziemlich egal, ob es funktioniert oder nicht :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Auslagern des Codes ist relativ viel Arbeit, und bedeutet das Laden einer weiteren Datei fuer "Normalos".
Waere fuer dich "attr WEB confirmJSError 0" eine Option?

Fuer die Mehrheit der Anwender bin ich dafuer das Problem zu fixen, und nicht zu ignorieren.

betateilchen

Zitat von: rudolfkoenig am 18 April 2022, 21:35:13
Waere fuer dich "attr WEB confirmJSError 0" eine Option?

Klar ist das eine Option, dieses Attribut hatte ich schlichtweg vergessen. Danke für den Hinweis.
Das Attribut habe ich gesetzt, nun wird keine Fehlermeldung mehr angezeigt.

Zitat von: rudolfkoenig am 18 April 2022, 21:35:13
Fuer die Mehrheit der Anwender bin ich dafuer das Problem zu fixen

Das ist natürlich die beste Option.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!