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

      @Negalein
      Das obige Script von dir wirft im JS-Adapter zahlreiche Fehler, siehe rote Markierungen rechts.
      xxxxx.png

      So sieht das von Github aus:
      xxxgit.png

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            484
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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