FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Jostar am 11 Januar 2021, 11:36:15

Titel: Größe DEF-Eingabefeld
Beitrag von: Jostar am 11 Januar 2021, 11:36:15
Offensichtlich gibt es eine Beschränkung der Größe des DEF-Feldes, also des Inhaltes, zulässige Anzahl der Zeichen.
Ich habe ein Notify (mit 140 Zeichen, über 10.000 Zeichen), dass ich nicht mehr editieren kann.
Nach Klick auf "modify" unter dem Editorfeld passiert genau gar nichts.
Ich befürchte es liegt vielleicht auch irgendwo am Webserver oder PHP-Einstellungen, irgendein Speicher voll. Gibt es eine Einschränkung seitens FHEM?

Das Problem tritt ohne und mit codemirror auf:
WEB JavaScripts  codemirror/fhem_codemirror.js

Hinweis: die Größe des Eingabebereiches wurde schon mehrfach besprochen, scheint mir aber unabhängig vom oben genannten Problem
https://forum.fhem.de/index.php/topic,113587.msg1078498.html#msg1078498
https://forum.fhem.de/index.php/topic,91126.msg836278.html#msg836278
Titel: Antw:Größe DEF-Eingabefeld
Beitrag von: betateilchen am 11 Januar 2021, 11:40:21
Ein notify mit 140 Zeilen und 10kB Text macht überhaupt keinen Sinn.

Packe den Code in die 99_myUtils.pm und rufe diesen Code im notify auf.
Titel: Antw:Größe DEF-Eingabefeld
Beitrag von: MadMax-FHEM am 11 Januar 2021, 11:41:45
Zitat von: Jostar am 11 Januar 2021, 11:36:15
Ich habe ein Notify (mit 140 Zeichen, über 10.000 Zeichen), dass ich nicht mehr editieren kann.

Was nun? 140 Zeichen oder über 10.000 Zeichen?
EDIT: ah so wird (evtl.) ein Schuh draus: 140Zeilen und 10.000 Zeichen ;)

Wer will denn so ein notify als notify "warten" wollen??!

Warum nicht einfach auslagern in eine myUtils-Sub!!?

Ich lagere (schon wegen Überscihtlichkeit etc.) deutlich kleinere notify/at/... (eigentlich fast alles bis auf "set-Einzeiler") in Subs aus...

Gut beantwortet nicht wirklich deine Frage, sorry. ;)

Aber gibt einen möglichen Lösungsweg... :)

Gruß, Joachim
Titel: Antw:Größe DEF-Eingabefeld
Beitrag von: Jostar am 11 Januar 2021, 11:47:15
Ja, 140 Zeilen sind gemeint, also noch ganz übersichtlich aus meiner Sicht.

Danke für den Tipp. Was soll dann aber der Vorteil sein? Es in ein anderes Edit-Fenster zu verschieben lößt mein Problem natürlich leider nicht. Den Komfort, eine Anpassung via Browser schnell auch mobil durchführen zu können, möchte ich nicht missen.

Mit Verlaub, warum sollte es keinen Sinn machen? Es ist ein Notify, das je nach meinen "Kommandos" via Telegramm mir Antworten zurückschickt. Mir ist klar, dass ich es auf mehrere aufteilen könnte. Es ging ja aber mal zu editieren (sonst wäre es in die DEF ja nicht rein gekommen).
Titel: Antw:Größe DEF-Eingabefeld
Beitrag von: betateilchen am 11 Januar 2021, 12:02:07
Zitat von: Jostar am 11 Januar 2021, 11:47:15
Es in ein anderes Edit-Fenster zu verschieben lößt mein Problem natürlich leider nicht. Den Komfort, eine Anpassung via Browser schnell auch mobil durchführen zu können, möchte ich nicht missen.

Den Komfort hast Du auch, wenn der Code als Funktion in der 99_myUtils.pm liegt. Denn auch diese Datei kannst Du über die FHEM Oberfläche im Editor bearbeiten und  sie wird beim Abspeichern automatisch neu geladen und sogar noch ein perl Syntaxcheck durchgeführt. Fehlermeldungen z.B. aufgrund von Tippfehlern werden dadurch sofort erkannt und gemeldet.

Zitat von: Jostar am 11 Januar 2021, 11:47:15
Es ist ein Notify, das je nach meinen "Kommandos" via Telegramm mir Antworten zurückschickt. Mir ist klar, dass ich es auf mehrere aufteilen könnte. Es ging ja aber mal zu editieren (sonst wäre es in die DEF ja nicht rein gekommen).

Von "auf mehrere aufteilen" war doch nie die Rede? Empfohlen wurde nur, diesen überlangen Text an eine Stelle zu verlegen, wo er "besser" aufgehoben ist.

Zitat von: Jostar am 11 Januar 2021, 11:47:15
Es in ein anderes Edit-Fenster zu verschieben lößt mein Problem natürlich leider nicht.

doch, es würde Dein Problem lösen.

--
Titel: Antw:Größe DEF-Eingabefeld
Beitrag von: frank am 11 Januar 2021, 12:12:01
an fhem liegt es nicht.
ich habe ein at mit über 200 zeilen in der DEF, welches ohne probleme angezeigt wird.
ebenfalls mit codemirror.js.
Titel: Antw:Größe DEF-Eingabefeld
Beitrag von: MadMax-FHEM am 11 Januar 2021, 12:16:00
Zitat von: frank am 11 Januar 2021, 12:12:01
an fhem liegt es nicht.
ich habe ein at mit über 200 zeilen in der DEF, welches ohne probleme angezeigt wird.
ebenfalls mit codemirror.js.

Angeber ;)

@Jostar: statt define nIrgendwas notify RegEx {if....} -> statt define nIrgendwas notify RegEx {mySubForThisNotify($EVENT)} oder falls notwendig define nIrgendwas notify RegEx {mySubForThisNotify($NAME, $EVENT)}

Und dann eben eine Sub in myUtils mySubForThisNotify und dort eben den bisherigen Code (mit evtl. Anpassungen bzgl. Strichpunkten o.ä.) einfügen und es sollte "gut sein"...
https://wiki.fhem.de/wiki/99_myUtils_anlegen

Gruß, Joachim
Titel: Antw:Größe DEF-Eingabefeld
Beitrag von: frank am 11 Januar 2021, 12:31:28
Zitat von: MadMax-FHEM am 11 Januar 2021, 12:16:00
Angeber ;)
kann man so nicht sagen, da es nur 8365 zeichen sind.  ;)
Titel: Antw:Größe DEF-Eingabefeld
Beitrag von: Jostar am 18 Januar 2021, 17:04:57
Vielen Dank für die Hinweise! Der letzte ist der entscheidende, mein Notify verkleinert auf 135 Zeilen und 10.002 Zeichen lässt sich nun wieder problemfrei editieren über den Editor des DEF-Feldes. Wo nun genau die kritische Stelle ist, habe ich nicht ausprobiert.

Alternativlösung ist auch gut: der Editor mit deutlich mehr Zeichen macht über "Edit files" (fhem?cmd=style edit 98_myUtils...) keinerlei Probleme. Damit erübrigt sich die Frage nach einem Aufteilen des Codes auf mehrere Stellen.