Hallo,
ich habe mir vor einiger Zeit für Telegram mit msgDialog ein Bediensystem aufgebaut.
Nun wollte ich dieses erweitern und dabei habe ich festgestellt, dass ich ab einer bestimmten Länge des Internals: "DEF" keine Reaktion mehr bekomme, wenn ich auf "modify xyz" drücke.
Es sind 134 Zeilen und hat eine Länge von 5683 Zeichen, wenn ich es um ein paar Zeichen erweitere, dann kann ich es nicht mehr abspeichern.
Früher hatte ich das Problem schonmal an einer anderen Stelle, da habe ich in der fhem.conf händisch herum gepfuscht .... naja man liest und lernt und bildet sich weiter. :-X
Ist das normal so?
Grüße
Ob das "normal so" ist weiß ich nicht...
...aber spätestens ab mehr als einer Zeile in der DEF bei Notify etc. wird "ausgelagert" in eine Sub in myUtils...
...deutlich einfacher, übersichtlicher etc.
Gruß, Joachim
Zitat von: MadMax-FHEM am 12 August 2019, 11:22:52
...aber spätestens ab mehr als einer Zeile in der DEF bei Notify etc. wird "ausgelagert" in eine Sub in myUtils...
...deutlich einfacher, übersichtlicher etc.
Hallo Joachim,
prinzipiell ja, aber bei msgDialog steht der gesamte Dialog in der DEF. Und wenn es ein großer Dialog ist dann
kann das gerne schon mal mehrere Zeilen lang werden... :o
Aber auch hier kann man aus Gründen der Übersichtlichkeit, Strukturiertheit oder auch Wiederverwendbarkeit von Code, uvm
den Code in myUtils auslagern ;)
@fr00sch: Aus o.g. Gründen habe ich eine 99_dialogUtils.pm erstellt nur für msgDialog Code. ;)
VG Sebastian
die def eines at zeigt bei mir zb folgende daten:
Characters (without blanks): 7.940
Words: 906
Lines: 214
Current document length: 8.366
vielleicht liegt es an der nutzung von codemirror als internen fhem editor. :)
ok, mache ich gerne über die myUtils.
Kann ich dann einfach folgenden Code:
{"Rollläden": {
"message": [
"(Alles Hoch|Alles Runter) ",
"(Beschattung An|Beschattung Aus) ",
"(Bunker An|Bunker Aus) ",
"(Automatik|Manuell) ",
.....
}
einfach in eine sub kopieren:
sub test() {
"Rollläden": {
"message": [
"(Alles Hoch|Alles Runter) ",
"(Beschattung An|Beschattung Aus) ",
"(Bunker An|Bunker Aus) ",
"(Automatik|Manuell) ",
.....
}
Tut mir leid, ich bin nicht so Firm mit der Syntax von perl ud dem was dahinter steht genau.
Nein das geht so nicht. Der Dialog muss in der DEF stehen. Aber Perl-Code kann in myUtils ausgelagert werden.
Schau mal im Wiki oder hier im Forum nach. Da sind ein paar Beispiele zu finden.
hier ein Beispiel: https://forum.fhem.de/index.php/topic,77297.msg930299.html#msg930299 (https://forum.fhem.de/index.php/topic,77297.msg930299.html#msg930299)
VG Sebastian
Danke, der Ansatz hat mir geholfen.