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.
    • Negalein
      Negalein Global Moderator @Mic last edited by

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

      Am besten startest du noch mal mit dem aktuellen Github-Script.

      jetzt passt es.
      DP wurden sofort angelegt.

      1 Reply Last reply Reply Quote 0
      • MartinK.
        MartinK. @Mic last edited by

        @Mic Absolut genial gemacht! Sogar für Anfänger wie mich alles zu verstehen 🙂 ... läuft auf anhieb!!! 😀 👍 👍

        1 Reply Last reply Reply Quote 1
        • B
          blackeagle998 last edited by blackeagle998

          @Mic
          Das Skript läuft wie immer super, solange ich mindestens eine VIS View angebe.
          Ändere ich den Wert "const NUMBER_OF_VIS_VIEWS = 1;" auf 0, erhalte ich im LOG folgende Fehler:

          javascript.0	2020-02-13 12:02:44.106	error	(10714) at process._tickCallback (internal/process/next_tick.js:68:7)
          javascript.0	2020-02-13 12:02:44.106	error	(10714) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
          javascript.0	2020-02-13 12:02:44.105	error	(10714) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
          javascript.0	2020-02-13 12:02:44.105	error	(10714) at client.set.err (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:534:55)
          javascript.0	2020-02-13 12:02:44.105	error	(10714) at err (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:318:38)
          javascript.0	2020-02-13 12:02:44.105	error	(10714) at Object.<anonymous> (script.js.common.02_IO-Broker.Logfile:1708:44)
          javascript.0	2020-02-13 12:02:44.105	error	(10714) at script.js.common.02_IO-Broker.Logfile:421:9
          javascript.0	2020-02-13 12:02:44.104	error	(10714) at createUserStates (script.js.common.02_IO-Broker.Logfile:1629:43)
          javascript.0	2020-02-13 12:02:44.103	error	(10714) Error in callback: TypeError: Cannot read property 'replace' of undefined
          

          Die Zeilen 1627 bis 1633 enthalten folgenden Code:

           // Add "where" to STATES_TO_CREATE
              for (let i = 0; i < statesToCreate.length; i++) {
                  let lpPath = statesToCreate[i][0].replace(/\.*\./g, '.'); // replace all multiple dots like '..', '...' with a single '.'
                  lpPath = lpPath.replace(/^((javascript\.([1-9][0-9]|[0-9])\.)|0_userdata\.0\.)/,'') // remove any javascript.x. / 0_userdata.0. from beginning
                  lpPath = where + '.' + lpPath; // add where to beginning of string
                  statesToCreate[i][0] = lpPath;
              }
          

          Das soll nur als Hinweis dienen, da das Skript ja für die VIS Aufbereitung gedacht ist und somit mindestens eine VIS View vorhanden sein sollte.

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

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

            Das soll nur als Hinweis dienen

            Vielen Dank für den Test. Habe ich in Version 4.7 korrigiert. Für ein Update reicht es, alles unterhalb des folgenden Kommentars zu ersetzen:

            /*************************************************************************************************************************
             * Ab hier nichts mehr ändern / Stop editing here!
             *************************************************************************************************************************/
            
            1 Reply Last reply Reply Quote 0
            • Latzi
              Latzi last edited by

              @Mic

              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
              2020-02-14 20:06:17.452 - error: host.Pi4-Server Caught by controller[44]: frame=95054 fps= 15 q=3.9 size= 315727kB time=01:45:33.06 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.452 - error: host.Pi4-Server Caught by controller[45]: frame=95061 fps= 15 q=4.7 size= 315740kB time=01:45:33.64 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.452 - error: host.Pi4-Server Caught by controller[46]: frame=95069 fps= 15 q=5.0 size= 315772kB time=01:45:34.07 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.453 - error: host.Pi4-Server Caught by controller[47]: frame=95076 fps= 15 q=4.7 size= 315785kB time=01:45:34.65 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.453 - error: host.Pi4-Server Caught by controller[48]: frame=95084 fps= 15 q=4.6 size= 315819kB time=01:45:35.15 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.453 - error: host.Pi4-Server Caught by controller[49]: frame=95092 fps= 15 q=5.7 size= 315848kB time=01:45:35.66 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.453 - error: host.Pi4-Server Caught by controller[50]: frame=95100 fps= 15 q=4.7 size= 315864kB time=01:45:36.16 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.453 - error: host.Pi4-Server Caught by controller[51]: frame=95108 fps= 15 q=4.6 size= 315900kB time=01:45:36.66 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.453 - error: host.Pi4-Server Caught by controller[52]: frame=95115 fps= 15 q=5.0 size= 315932kB time=01:45:37.24 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.454 - error: host.Pi4-Server Caught by controller[53]: frame=95123 fps= 15 q=4.2 size= 315949kB time=01:45:37.74 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.454 - error: host.Pi4-Server Caught by controller[54]: frame=95131 fps= 15 q=4.7 size= 315975kB time=01:45:38.25 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.454 - error: host.Pi4-Server Caught by controller[55]: frame=95139 fps= 15 q=4.6 size= 316009kB time=01:45:38.75 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.465 - error: host.Pi4-Server Caught by controller[56]: frame=95146 fps= 15 q=6.0 size= 316021kB time=01:45:39.26 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.465 - error: host.Pi4-Server Caught by controller[57]: frame=95154 fps= 15 q=4.8 size= 316056kB time=01:45:39.76 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.465 - error: host.Pi4-Server Caught by controller[58]: frame=95162 fps= 15 q=3.6 size= 316087kB time=01:45:40.26 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.465 - error: host.Pi4-Server Caught by controller[59]: ReferenceError: i is not defined
              2020-02-14 20:06:17.465 - error: host.Pi4-Server Caught by controller[59]: at WebSocketServer.wsServer.broadcast (/opt/iobroker/node_modules/node-rtsp-stream/videoStream.js:103:54)
              2020-02-14 20:06:17.466 - error: host.Pi4-Server Caught by controller[59]: at VideoStream.on (/opt/iobroker/node_modules/node-rtsp-stream/videoStream.js:109:26)
              2020-02-14 20:06:17.466 - error: host.Pi4-Server Caught by controller[59]: at VideoStream.emit (events.js:198:13)
              2020-02-14 20:06:17.466 - error: host.Pi4-Server Caught by controller[59]: at Mpeg1Muxer.mpeg1Muxer.on (/opt/iobroker/node_modules/node-rtsp-stream/videoStream.js:47:17)
              2020-02-14 20:06:17.466 - error: host.Pi4-Server Caught by controller[59]: at Mpeg1Muxer.emit (events.js:198:13)
              2020-02-14 20:06:17.466 - error: host.Pi4-Server Caught by controller[59]: at Socket.Mpeg1Muxer.stream.stdout.on (/opt/iobroker/node_modules/node-rtsp-stream/mpeg1muxer.js:39:17)
              2020-02-14 20:06:17.467 - error: host.Pi4-Server Caught by controller[59]: at Socket.emit (events.js:198:13)
              2020-02-14 20:06:17.467 - error: host.Pi4-Server Caught by controller[59]: at addChunk (_stream_readable.js:288:12)
              2020-02-14 20:06:17.467 - error: host.Pi4-Server Caught by controller[59]: at readableAddChunk (_stream_readable.js:269:11)
              2020-02-14 20:06:17.467 - error: host.Pi4-Server Caught by controller[59]: at Socket.Readable.push (_stream_readable.js:224:10)
              2020-02-14 20:06:17.467 - error: host.Pi4-Server Caught by controller[59]: frame=95169 fps= 15 q=4.4 size= 316101kB time=01:45:40.84 bitrate= 408.4kbits/s speed= 1x
              2020-02-14 20:06:17.467 - error: host.Pi4-Server Caught by controller[60]: frame=95177 fps= 15 q=5.3 size= 316135kB time=01:45:41.34 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?

              Glasfaser Mic 2 Replies Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @Latzi last edited by Glasfaser

                @Latzi

                Teste mal mit dem Skript von Mic , hast du dort eine Log Ausgabe ?

                log('Error-Meldung', 'error');
                
                log('Warn-Meldung', 'warn');
                
                // Nochmal nach 2 Sekunden.
                
                setTimeout(function() {
                
                    log('Error-Meldung', 'error');
                
                    log('Warn-Meldung', 'warn');
                
                }, 2*1000);
                
                // Nach 30 Sekunden noch eine Warnmeldung.
                
                setTimeout(function() {
                
                    log('Neue Warn-Meldung nach 30 Sekunden', 'warn');
                
                }, 30*1000);
                
                
                Latzi 1 Reply Last reply Reply Quote 0
                • Latzi
                  Latzi @Glasfaser last edited by

                  @Glasfaser ja, die Meldungen kommen. Liegt wohl an der Art und Weise wie rtspstream die Fehler generiert.
                  Danke dir für die Unterstützung!

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

                    @Latzi

                    Habe mal ein Fehler simuliert .... rtspstream wird im LOG angezeigt

                    1.JPG

                    Zeig doch mal deine Usereinstellung , für die ERROR Filterung.

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

                      @Glasfaser
                      mein Block error sieht folgendermaßen aus:

                       {
                          id:             'error',
                          filter_all:     [' - error:', ''],  // nur Logeinträge mit Level 'error'
                          filter_any:     [''],
                          blacklist:      ['', '', ''],
                          clean:          ['', '', ''],
                          merge:          true,
                          sortDescending: true,
                          jsonColumns:    ['date','level','source','msg'],
                          jsonDateFormat: 'dd.mm. hh:mm',
                          jsonLogLength:  200,
                          jsonMaxLines:   60,
                          jsonCssToLevel: true,
                        }
                      

                      Kannst du das bitte mal mit deinem Block vergleichen?

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

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

                        Füge mal das ein :

                         {
                        
                            id:             'error',
                        
                            filter_all:     [' - error: ', ''],  // nur Logeinträge mit Level 'error'
                        
                            filter_any:     [''],
                        
                            blacklist:      ['', '', ''],
                        
                            clean:          ['', '', ''],
                        
                            merge:          true,
                        
                            sortDescending: true,
                        
                            jsonColumns:    ['date','level','source','msg'],
                        
                            jsonDateFormat: 'dd.mm. hh:mm',
                        
                            jsonLogLength:  200,
                        
                            jsonMaxLines:   60,
                        
                            jsonCssToLevel: true,
                        
                          }
                        
                        Latzi 1 Reply Last reply Reply Quote 0
                        • Latzi
                          Latzi @Glasfaser last edited by

                          @Glasfaser ändert leider nichts 😞

                          Glasfaser 1 Reply Last reply Reply Quote 0
                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            657
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            60
                                            617
                                            112081
                                            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