FHEM Forum

FHEM => Automatisierung => Thema gestartet von: betateilchen am 11 Juni 2023, 14:45:55

Titel: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: betateilchen am 11 Juni 2023, 14:45:55
Da es aktuell keine Möglichkeit gibt, mittels stateFormat die Anzahl der Zeilen in einem Logfile irgendwie in die Übersicht zu bekommen, habe ich einen Weg gesucht, das trotzdem zu realisieren.

Ergebnis:

Bildschirmfoto 2023-06-11 um 14.38.42.png

Hierzu habe ich das Attribut 'logtype' verwendet, das standardmäßig (wenn nicht gesetzt) "text" und als Bezeichnung auch "text" benutzt.
Trägt man jetzt "text:linesInTheFile" als Attributwert ein, werden die Zeilen im jeweiligen Logfile ermittelt und als Ergänzung hinter die Bezeichnung "text" geschrieben.

Index: /opt/fhem/FHEM/92_FileLog.pm
===================================================================
--- /opt/fhem/FHEM/92_FileLog.pm        (revision 27671)
+++ /opt/fhem/FHEM/92_FileLog.pm        (working copy)
@@ -591,6 +591,14 @@
       }
       my ($lt, $name) = split(":", $ln);
       $name = $lt if(!$name);
+      if ($ln eq "text:linesInTheFile") {
+        my $path = qx(dirname $defs{$d}{currentlogfile});
+        chomp $path;
+        my $filename = "$path/$f";
+        my($err,@content) = FileRead( {(FileName => $filename, ForceType => "FILE" )} );
+        $name = "$lt (".scalar(@content).")";
+        @content = ();
+      }
       $ret .= FW_pH("$FW_ME/FileLog_logWrapper&dev=$d&type=$lt&file=$f",
                     "<div class=\"dval\">$name</div>", 1, "dval", 1);
     }

Sollte die Idee auf Wohlgefallen stoßen, würde ich noch die Ergänzung der commandref nachliefern.
Titel: Aw: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: betateilchen am 23 Juni 2023, 18:48:18
"gar keine Reaktion" ist so ziemlich das am wenigsten erwartete Ergebnis, mit dem ich gerechnet habe  8)
Titel: Aw: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: Roger am 23 Juni 2023, 19:26:48
Ich habe mit "gefällt mir" reagiert (wie weitere zwei) - wünsche mir also eine Umsetzung.
//Roger
Titel: Aw: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: betateilchen am 23 Juni 2023, 22:17:37
Zitat von: Roger am 23 Juni 2023, 19:26:48wünsche mir also eine Umsetzung.

Das wünsche ich mir auch. Warten wir mal ab, wann Rudi wieder in diesen Forumbereich schaut.
Zuerst dachte ich, er sei vielleicht in Urlaub, aber da er zwischenzeitlich in anderen Bereichen aktiv war und Änderungsvorschläge verarbeitet hat, bin ich um so mehr verwundert.
Titel: Aw: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: rudolfkoenig am 10 Juli 2023, 11:45:41
Hab den Patch uebernommen.

Ich hatte (warum auch immer) diesen Forumsbereicht nicht mehr auf der Benachrichtungsliste, das habe ich jetzt geaendert.
Titel: Aw: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: betateilchen am 10 Juli 2023, 12:24:20
Zitat von: rudolfkoenig am 10 Juli 2023, 11:45:41Hab den Patch uebernommen.

Danke!
Titel: Aw: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: Maista am 11 Juli 2023, 18:42:32
Zitat von: rudolfkoenig am 10 Juli 2023, 11:45:41Hab den Patch uebernommen.

Ich hatte (warum auch immer) diesen Forumsbereicht nicht mehr auf der Benachrichtungsliste, das habe ich jetzt geaendert.
Hallo Rudi,

Spendierst du zu dieser Funktion bei Gelegenheit noch eine Beschreibung  :) ?

Danke und Gruß
Gerd
Titel: Aw: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: rudolfkoenig am 11 Juli 2023, 18:54:14
ZitatSpendierst du zu dieser Funktion bei Gelegenheit noch eine Beschreibung  :) ?

Zitat betateilchen:
ZitatSollte die Idee auf Wohlgefallen stoßen, würde ich noch die Ergänzung der commandref nachliefern.
:)
Titel: Aw: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: betateilchen am 11 Juli 2023, 19:09:37
Index: 92_FileLog.pm
===================================================================
--- 92_FileLog.pm       (revision 27748)
+++ 92_FileLog.pm       (working copy)
@@ -1596,7 +1596,9 @@
         the part after is the string displayed in the web frontend.<br>
         Example:<br>
            attr ks300log1 logtype
-                temp4rain10:Temp/Rain,hum6wind8:Hum/Wind,text:Raw-data
+                temp4rain10:Temp/Rain,hum6wind8:Hum/Wind,text:Raw-data<br/>
+        If the special value "text:linesInTheFile" is used, you will see
+        the number of lines in each Logfile in the corrsponding device overview.<br/>
     </li><br>
 
     <li><a href="#mseclog">mseclog</a></li><br>
@@ -1954,7 +1956,9 @@
           </li>
            <li>text<br>
                Zeigt das LogFile in seiner urspr&uuml;nglichen Form (Nur
-               Text).Eine gnuplot-Definition ist nicht notwendig.
+               Text).Eine gnuplot-Definition ist nicht notwendig.<br/>
+               Wird der Attributwert text:linesInTheFile verwendet,
+               werden in der Ger&auml;te&uuml;bersicht die Anzahl der enthaltenen Zeilen pro Logdatei angezeigt.
                </li>
         </ul>
         Beispiel:<br> attr ks300log1 logtype

@Rudi:
hast Du Dir mal die existierende englische Beschreibung des Attributes angeschaut? Da steht so gut wie nichts zu dem Attribut, verglichen mit der deutschen Beschreibung. Vielleicht kannst Du das bei der Gelegenheit mit geradeziehen.
Titel: Aw: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: rudolfkoenig am 11 Juli 2023, 20:45:37
Eingecheckt.

Die deutsche Version beschreibt 5 .gplot Dateien, wir haben z.Zt. 130+.
Ich hatte bisher Bauchschmerzen diese 5 schoenen Texte zu loeschen, und ich werde sicher nicht anfangen, alle zu dokumentieren.
Titel: Aw: [patch] 92_FileLog.pm Anzeige linesInTheFile in der device overview
Beitrag von: betateilchen am 12 Juli 2023, 17:29:01
Zitat von: rudolfkoenig am 11 Juli 2023, 20:45:37und ich werde sicher nicht anfangen, alle zu dokumentieren.

Das war nicht meine Erwartung, aber zumindest die grundsätzliche Beschreibung von "text" hätte ich dort schon vermutet und war sehr überrascht, dass man diesen "Standardwert" dort nicht findet.

Mir war zumindest bis neulich, als ich mich auf die Suche nach einer Lösung für die Zeilenzahl gemacht habe, nicht klar, dass die Darstellung "text" im Frontend aus dem Standardwert eines Attributes stammt.