Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] JS: Log-Datei aufbereiten für VIS

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] JS: Log-Datei aufbereiten für VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • Glasfaser
      Glasfaser @Latzi last edited by

      @Latzi

      Mhhh , habe gerade nochmal verglichen , dachte es hatte einfluss das nach dem - error: ein Leerzeichen fehlte ...

      Kann du den Error im Datenpunkt log sehen ?

      1.JPG

      2.JPG

      Latzi 1 Reply Last reply Reply Quote 0
      • Latzi
        Latzi @Glasfaser last edited by

        @Glasfaser nein, ist darin nicht enthalten

        Glasfaser 1 Reply Last reply Reply Quote 0
        • Glasfaser
          Glasfaser @Latzi last edited by

          @Latzi

          Da bin gerade überfragt ….. mehr kann ich dir im Moment leider nicht weiterhelfen , da ich gerade ein großes ? dazu habe …🤔

          Warte auf Mic

          Latzi 1 Reply Last reply Reply Quote 0
          • Latzi
            Latzi @Glasfaser last edited by

            @Glasfaser vielen Dank für deine Mühe 👍 👍 👍

            1 Reply Last reply Reply Quote 0
            • Mic
              Mic Developer @Latzi last edited by

              @Latzi sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

              ich hab im Log folgende Fehlermeldungen:

              2020-02-14 20:06:16.407 - error: rtspStream.0 (14568) uncaught exception: i is not defined
              2020-02-14 20:06:16.408 - error: rtspStream.0 (14568) ReferenceError: i is not defined
              2020-02-14 20:06:17.452 - error: host.Pi4-Server Caught by controller[43]: frame=95046 fps= 15 q=6.1 size= 315696kB time=01:45:32.56 bitrate= 408.4kbits/s speed= 1x
              (...)
              

              Es wird mir im DP error aber nichts angezeigt. Ich habe auch nichts deratiges in der blacklist. Hast du eine Erklärung dafür?

              Bitte ersetze mal folgende Zeile im Script:

              const LOG_PATT =  '([0-9_.\\-:\\s]*)(\\s+\\- )(silly|debug|info|warn|error|)(: )([a-z0-9.\\-]*)(\\s)(.*)';
              

              Durch:

              const LOG_PATT =  '([0-9_.\\-:\\s]*)(\\s+\\- )(silly|debug|info|warn|error|)(: )([^\\s]*)(\\s)(.*)';
              
              Latzi 1 Reply Last reply Reply Quote 0
              • Latzi
                Latzi @Mic last edited by

                @Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                const LOG_PATT = '([0-9_.\-:\s])(\s+\- )(silly|debug|info|warn|error|)(: )([^\s])(\s)(.*)';

                @Mic Applaus, Applaus 👏 👏 👏
                Jetzt kommen auch die Meldungen vom rtspStream durch (es waren nicht nur die error-Meldungen, eigentlich waren alle Typen betroffen).
                Muss ich diese Zeile für spätere Versionen sichern oder baust du es allgemein im Script ein?

                Mic 1 Reply Last reply Reply Quote 0
                • Mic
                  Mic Developer @Latzi last edited by

                  @Latzi
                  Gern geschehen 🙂

                  @Latzi sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                  Muss ich diese Zeile für spätere Versionen sichern oder baust du es allgemein im Script ein?

                  Baue ich ins Script ein, Update folgt sehr bald.

                  1 Reply Last reply Reply Quote 0
                  • Mic
                    Mic Developer last edited by Mic

                    Neue Log-Script-Version 4.8

                    Neuerungen:

                     *  + Allow regular expressions in BLACKLIST_GLOBAL
                     *  + Allow regular expressions in LOG_FILTER: 'blacklist', 'clean', 'filter_all', 'filter_any'
                     *  - Fix: Log line regex, which did not allow upper case letters in host (source)
                    

                    Das heißt, es werden nun auch Regular Expressions unterstützt.

                    Um also etwa Einträge wie z.B.

                    script.js.System.-_Log-Script: registered 8 subscriptions and 1 schedule
                    script.js.System.Backup: registered 0 subscriptions and 0 schedules
                    script.js.System.Test: registered 3 subscriptions and 2 schedules
                    

                    allesamt zu eliminieren, kann man einfach in BLACKLIST_GLOBAL eintragen:

                    /registered [0-9]+ subscriptions and [0-9]+ schedules/
                    

                    Oder um sämtliche script.js.System.XXXXXXXXXX: herauszuschneiden aus den Logzeilen, trägt man in LOG_FILTER unter clean folgendes ein:

                    /script\.js\.[^:]*: /
                    

                    Weitere Beispiele sind im Script selbst. Viel Spaß damit.
                    Um eigene Regex zu erstellen, eignet sich https://regex101.com/ gut.


                    Hier das aktuelle Script wie immer: https://github.com/Mic-M/iobroker.logfile-script

                    Zum Update von der Vorversion: Einfach alles unterhalb von hier ersetzen:

                    /*************************************************************************************************************************
                     * Ab hier nichts mehr ändern / Stop editing here!
                     *************************************************************************************************************************/
                    
                    1 Reply Last reply Reply Quote 1
                    • S
                      saeft_2003 Most Active @sigi234 last edited by

                      @sigi234 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                      @Latzi sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                      das Löschdatum beim erstmaligen Betätigen aktualisiert wird

                      Wo siehst du das? Erledigt, ist bei mir nicht so.

                      Screenshot (1644).png

                      Würdest du mir diesen view zu verfügung stellen? Sieht echt klasse aus und würde mir jede menge arbeit sparen 🙂

                      sigi234 1 Reply Last reply Reply Quote 0
                      • sigi234
                        sigi234 Forum Testing Most Active @saeft_2003 last edited by

                        @saeft_2003 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                        @sigi234 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                        @Latzi sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                        das Löschdatum beim erstmaligen Betätigen aktualisiert wird

                        Wo siehst du das? Erledigt, ist bei mir nicht so.

                        Screenshot (1644).png

                        Würdest du mir diesen view zu verfügung stellen? Sieht echt klasse aus und würde mir jede menge arbeit sparen 🙂

                        VIEW LOG MIC.txt

                        S 2 Replies Last reply Reply Quote 2
                        • S
                          saeft_2003 Most Active @sigi234 last edited by

                          @sigi234

                          Vielen Dank 😊👍

                          1 Reply Last reply Reply Quote 0
                          • S
                            saeft_2003 Most Active @sigi234 last edited by

                            @sigi234

                            Ich habe jetzt dein view importiert, aber zurecht komme ich irgendwie nicht 😞

                            Wie und welche Quelle muss ich bei dem border log widget auswählen? ich sehe nur ein graues Bild und die widget zur logauswahl und zum löschen sehe ich gar nicht. Wäre nett wenn du mir ein wenig auf die sprünge helfen könntest 🙂

                            vis2.jpg

                            sigi234 2 Replies Last reply Reply Quote 0
                            • sigi234
                              sigi234 Forum Testing Most Active @saeft_2003 last edited by

                              @saeft_2003 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                              widget zur logauswahl und zum löschen sehe ich gar nicht

                              Material Design Widgets installieren.
                              https://forum.iobroker.net/topic/26925/test-adapter-material-design-widgets-v0-2-x

                              1 Reply Last reply Reply Quote 0
                              • sigi234
                                sigi234 Forum Testing Most Active @saeft_2003 last edited by sigi234

                                @saeft_2003 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                Wie und welche Quelle muss ich bei dem border log widget auswählen?

                                Keine, das ist nur ein Border!

                                Wenn du das MDW installiert hast, siehst du die Vis-materialdesign-Table

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  saeft_2003 Most Active @sigi234 last edited by

                                  @sigi234

                                  Alles klar hat jetzt bestens geklappt. Nur das komische ist in meiner Ordnerstruktor vom skript gibt es kein logall.

                                  1 Reply Last reply Reply Quote 0
                                  • Mic
                                    Mic Developer last edited by Mic

                                    Tipp:
                                    Um im VIS anzuzeigen, ob das Script erfolgreich läuft, könnt ihr folgendes Widget benutzen:
                                    https://forum.iobroker.net/post/384051

                                    Das HTML-Widget prüft, ob innerhalb der letzten 30 Sekunden das Script erfolgreich gelaufen ist. Ausgabe-Beispiel:
                                    1_active.png

                                    Falls nicht erfolgreich gelaufen innerhalb der letzten 30 Sekunden:
                                    2_inactive.png

                                    Im Unterschied zum Datenpunkt javascript.0.scriptEnabled.Log-Script, der nur den Status anzeigt, ob das Script aktiviert ist, wird mit obigem Widget auch geprüft, ob das Script erfolgreich lief.
                                    Text "inactive" ist nicht ganz korrekt merke ich gerade, besser wäre wohl "Script Error" oder ähnliches.
                                    Anzupassen im HTML des Widgets, unter:
                                    anp.png

                                    Glasfaser C 2 Replies Last reply Reply Quote 1
                                    • Glasfaser
                                      Glasfaser @Mic last edited by

                                      @Mic

                                      Sehr praktische Idee ! 👍

                                      1 Reply Last reply Reply Quote 1
                                      • Mic
                                        Mic Developer last edited by Mic

                                        Update: Script-Version 4.9

                                        Neue Log-Script Version 4.9 zeigt nun im JSON für die VIS-Tabelle "Heute/Gestern" an statt dem tatsächlichen Datum, das macht es übersichtlicher.
                                        Das ist optional und für jeden Filter unter LOG_FILTER bei jsonDateFormat einstellbar:

                                        Wenn das Datum in "Hash-Zeichen (Raute = #)" gesetzt wird, dann wird es durch "Heute" bzw. "Gestern"
                                        ersetzt. Beispiele:

                                        – Aus #DD.MM.# hh:mm wird Heute 20:35, falls der Log von heute ist.
                                        – Aus #DD.MM.YY# hh:mm wird Gestern 20:35, falls der Log von gestern ist.
                                        – Aus #DD.MM.# hh:mm wird 18.02. 20:35, falls der Log nicht von heute oder gestern ist.
                                        – Aus #DD.MM.YY# hh:mm wird 18.02.20 20:35, falls der Log nicht von heute oder gestern ist.

                                        Bis Version 4.8:
                                        49-2.png

                                        Ab Log-Script-Version 4.9. In jsonDateFormat ist im Beispiel #DD.MM.# hh:mm gesetzt:
                                        49-1.png

                                        Wichtiger Hinweis zum Update von Vorversion:
                                        jsonDateFormat in den Filteroptionen unterscheidet jetzt Groß- und Kleinschreibung des Datumsformats. Das war notwendig und eigentlich vorher schon ein Bug, der noch nicht weiter auffiel. Denn das Script muss erkennen, ob Monat(MM/mm) oder Minute (MM/mm) gemeint ist. Wer also bislang etwa jsonDateFormat: 'dd.mm. hh:mm' hatte, muss ändern auf jsonDateFormat: 'DD.MM. hh:mm', oder besser gleich auf jsonDateFormat: #DD.MM.# hh:mm, damit "Heute"/"Gestern" angezeigt wird, falls Logzeile von heute/gestern ist.

                                        Update von Vorversion:
                                        Am besten neues Script nehmen und Optionen dort direkt anpassen.

                                        Wer das gar nicht möchte:

                                        1. jsonDateFormat in allen Filtern anpassen (siehe oben)
                                        2. Neue Optionen einfügen, direkt unterhalb von:
                                        /*******************************************************************************
                                         * Experten-Konfiguration
                                         ******************************************************************************/
                                        

                                        Folgendes einfügen:

                                        // JSON-Tabelle: ersetze heutiges und gestriges Datum durch 'Heute' bzw. 'Gestern'.
                                        // Mittels Hash-Zeichen(#) kann in LOG_FILTER in der Option "jsonDateFormat" definiert werden,
                                        // dass heutiges und gestriges Datum durch 'Heute' bzw. 'Gestern' ersetzt wird.
                                        // Hier können andere Begriffe statt "Heute"/"Gestern" definiert werden.
                                        const TXT_TODAY     = 'Heute';
                                        const TXT_YESTERDAY = 'Gestern';
                                        
                                        1. Alles unterhalb von hier ersetzen:
                                        /*************************************************************************************************************************
                                         * Ab hier nichts mehr ändern / Stop editing here!
                                         *************************************************************************************************************************/
                                        
                                        Glasfaser 1 Reply Last reply Reply Quote 3
                                        • Glasfaser
                                          Glasfaser @Mic last edited by Glasfaser

                                          @Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                          Ab Log-Script-Version 4.9. In jsonDateFormat ist im Beispiel #DD.MM.# hh:mm gesetzt:
                                          49-1.png

                                          Das ist mal eine geile Farbe , lass das bloß nicht @Negalein Tochter sehen 😁

                                          Ist das Purple?

                                          Mic Negalein 2 Replies Last reply Reply Quote 1
                                          • Mic
                                            Mic Developer @Glasfaser last edited by Mic

                                            @Glasfaser sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                            Das ist mal eine geile Farbe , lass das bloß nicht @Negalein Tochter sehen 😁

                                            Haha, wurde auch bei mir von der Damenwelt aktiv gefordert 😁

                                            Ist das Purple?

                                            Ich veröffentliche alsbald ein kleines Beispielprojekt, nur für dieses Log-Script. Inspiriert (bzw. schamlos übernommen) von @dos1973 - https://forum.iobroker.net/post/358742 und @Glasfaser - siehe https://forum.iobroker.net/post/365355
                                            logproj.png

                                            "Purple" Hintergrund ist gesetzt im Widget als: linear-gradient(0deg, #2c2a3f, #4f344c, #2c2a3f)

                                            Glasfaser M Negalein 3 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            521
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            60
                                            617
                                            112070
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo