Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Vorlage] JS: Log-Datei aufbereiten für VIS

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
617 Beiträge 60 Kommentatoren 154.2k Aufrufe 49 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • MicM Offline
    MicM Offline
    Mic
    Developer
    schrieb am zuletzt editiert von Mic
    #258

    Hi zusammen :)

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

    @Mic
    Hallo Mic,
    saubere Arbeit ! :+1:

    Ich habe auch schon die ältere Version des Scriptes genutzt und hatte ebenfalls das "Mitternachts-Problem".
    Habe mir dann (mit meinen rudimentären JavaScript-Kenntnissen) so geholfen, daß ich erstens den Schedule auf jede 45te Sekunde gesetzt habe ( also nicht alle 45 Sek), damit auf jeden Fall immer 15 Sekunden Zeit bis zum "Mitternacht-Wechsel" war:

    Hi Jörg,
    danke für dein Feedback :-) und das war im alten Script definitiv (mit) das Problem, wegen des Mitternachtsproblems, aber hat sich ja jetzt erübrigt.

    Trotzdem habe ich - für mich persönlich! - auch im neuen Script wieder etwas "herumgepfuscht".
    Worum geht's ? Nun, ich wollte gerne, wenn ich das Log manuell lösche (clearJSON), daß das auch im vis optisch angezeigt wird.

    Schöne Umsetzung. Das mit der Anzeige im VIS ("Derzeit keine Logeinträge" o.ä.) mache ich noch einfacher: Ich hab ein Text-Widget hinter der Tabelle, das nur sichtbar ist, wenn kein Log vorhanden. Hier könnte man auch Datum/Uhrzeit des letzten Löschen ausgeben:
    log_sichtbarkeit.png

    Zur Performance:

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

    In der Zeit wo der Cron läuft wird das System doch sehr träge. Und das trotz sehr guter Hardware.

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

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

    Noch nie Probleme auf meiner Synology gehabt , aber sicherlich kann @Mic vielleicht eine Fehlerquelle bei dir finden ….. warum es bei dir das System sehr träge macht !?

    Ja, ich warte jetzt mal auf @Mic!

    Normal kenn ich auf der Syno auf keine Performanceeinbußen.
    Die CPU ist von 5% auf 16% angestiegen.
    Der RAM nur sehr minimal.

    Aber am ioBroker hab ich es vorallem an der VIS bemerkt, dass der Seitenaufbau sehr träge war und
    zB ein Button mit mdui-raisedbutton mdui-blue-blink nur ca. alle 10 Sekunden geblinkt hat (statt normal jede Sekunde).

    Seltsam, ich stelle bei mir keinerlei Performanceprobleme fest, weder wenn das Script läuft, noch beim Update lt. Schedule. Auch lt. Proxmox kein merklicher CPU-Load-Unterschied feststellbar.
    Ich habe allerdings die meisten Adapter auf Debug Level warn oder error, so dass bei mir generell nicht so viel im Log ankommt.

    Das Script bedient sich einiger Funktionen, um die Log-Zeilen aufzubereiten, da werden mehrere Schleifen durchlaufen, Arrays gefüllt, Regex-Funktionen ausgeführt, usw., und das für jede Logzeile und jede "Kategorie".
    Leider tue ich mir schwer zu identifizieren, ob hier eine Funktion / Script-Bestandteil die Performance in den Keller drückt, denn das gibt der JavaScript-Adapter nicht her.
    Das Parsing im Script muss ich noch mal bei Gelegenheit umstellen, das geht definitiv effizienter. Aber ob das danach dann Auswirkung auf langsameren Systemen hat, kann ich nicht sagen.

    Cool wäre, wenn man dem Script, oder alternativ den JavaScript-Adapter, nur bestimmte Systemressourcen (RAM und vor allem CPU in %) zuordnen könnte. Dann könnte man das auf z.B. CPU 5% stellen und das Script hätte Zeit, das nach und nach abzuarbeiten.
    Ob das überhaupt geht (JavaScript-Adapter-seitig) weiß ich nicht. Evtl. weiß das jemand von Euch. Dann könnte man auf schwachen Systemen das Script in eine eigene JS-Adapter-Instanz packen und dort für die Instanz verfügbare Ressourcen herunterschrauben.

    Grüße

    1 Antwort Letzte Antwort
    0
    • O Online
      O Online
      Oli
      schrieb am zuletzt editiert von
      #259

      Hallo zusammen,

      ich habe mal ne blöde Anfängerfrage.

      Was muss ich in die Blacklist eintragen, damit ich folgende Logeinträge nicht mehr angezeigt bekomme?

      8863787f-0fc4-4cad-9d67-ad3e0e92057a-image.png

      Gruß
      Oliver

      GlasfaserG 1 Antwort Letzte Antwort
      0
      • O Oli

        Hallo zusammen,

        ich habe mal ne blöde Anfängerfrage.

        Was muss ich in die Blacklist eintragen, damit ich folgende Logeinträge nicht mehr angezeigt bekomme?

        8863787f-0fc4-4cad-9d67-ad3e0e92057a-image.png

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        schrieb am zuletzt editiert von
        #260

        @Oli

        blacklist:   ['snmp'],
        
        

        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

        O 1 Antwort Letzte Antwort
        0
        • GlasfaserG Glasfaser

          @Oli

          blacklist:   ['snmp'],
          
          
          O Online
          O Online
          Oli
          schrieb am zuletzt editiert von
          #261

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

          ['snmp']

          danke für die schnelle Antwort, aber das scheint nicht zu klappen.

          1f59b439-aa31-4729-94c4-7593492dee15-image.png

          be4c261a-d050-41a8-a0cb-ebb8795f22e9-image.png

          Wahrscheinlich sitzt die Schwachstelle wieder vorm PC :-)

          Gruß
          Oliver

          sigi234S 1 Antwort Letzte Antwort
          0
          • O Oli

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

            ['snmp']

            danke für die schnelle Antwort, aber das scheint nicht zu klappen.

            1f59b439-aa31-4729-94c4-7593492dee15-image.png

            be4c261a-d050-41a8-a0cb-ebb8795f22e9-image.png

            Wahrscheinlich sitzt die Schwachstelle wieder vorm PC :-)

            sigi234S Online
            sigi234S Online
            sigi234
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #262

            @Oli
            snmp.0

            Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Immer Daten sichern!

            O 1 Antwort Letzte Antwort
            1
            • sigi234S sigi234

              @Oli
              snmp.0

              O Online
              O Online
              Oli
              schrieb am zuletzt editiert von
              #263

              @sigi234

              danke, das war es.

              Gruß
              Oliver

              GlasfaserG 1 Antwort Letzte Antwort
              0
              • O Oli

                @sigi234

                danke, das war es.

                GlasfaserG Offline
                GlasfaserG Offline
                Glasfaser
                schrieb am zuletzt editiert von
                #264

                @Oli

                Mein Angabe war für hier zum eintragen , deshalb nur " snmp "

                1.JPG

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                1 Antwort Letzte Antwort
                0
                • MicM Offline
                  MicM Offline
                  Mic
                  Developer
                  schrieb am zuletzt editiert von Mic
                  #265

                  @Oli
                  @Glasfaser
                  @sigi234

                  Es geht beides:

                  BLACKLIST_GLOBAL: Hier werden als erstes ALLE Log-Einträge global ausgefiltert.

                  Aber manchmal will man ja nicht global alles ausfiltern.

                  Daher kann man unterhalb von LOG_FILTER dann je nach Kategorie ('hubschrauberlandeplatz', 'error', etc.) noch zusätzlich filtern.

                  Das Beispiel aus dem Screenshot https://forum.iobroker.net/post/321724 kann nicht funktionieren, weil hier eckige Klammern hinzugefügt wurden:
                  '[snmp]'
                  Die Logzeile selbst enthält aber nur snmp.0 ohne eckige Klammern, daher greift der Filter nicht, da es '[snmp]' in der Logzeile selbst nicht gibt.
                  'snmp' ohne eckige Klammern geht natürlich. Besser ist es allerdings, näher zu spezifizieren, also 'snmp.0', damit nicht auch Logzeilen anderer Skripte mit ausgefiltert werden, falls diese in irgend einem Wort den Bestandteil snmp enthalten.

                  Also: besser 'snmp.0' statt 'snmp'. Oder: besser 'wetter.0' statt 'wetter' (Begriff wetter könnte schließlich auch wirklich in anderen Logzeilen enthalten sein).

                  1 Antwort Letzte Antwort
                  0
                  • B Offline
                    B Offline
                    base
                    schrieb am zuletzt editiert von
                    #266

                    Hallo, bekomme nach Start des Scripts folgende Fehlermeldung:

                    javascript.0	2019-11-13 15:56:54.939	error	(29884) at process._tickCallback (internal/process/next_tick.js:68:7)
                    javascript.0	2019-11-13 15:56:54.939	error	(29884) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
                    javascript.0	2019-11-13 15:56:54.939	error	(29884) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                    javascript.0	2019-11-13 15:56:54.939	error	(29884) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:491:17)
                    javascript.0	2019-11-13 15:56:54.939	error	(29884) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:845:17)
                    javascript.0	2019-11-13 15:56:54.938	error	(29884) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1254:17)
                    javascript.0	2019-11-13 15:56:54.938	error	(29884) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1201:37)
                    javascript.0	2019-11-13 15:56:54.938	error	(29884) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:978:28)
                    javascript.0	2019-11-13 15:56:54.938	error	(29884) at Object.createScript (vm.js:277:10)
                    javascript.0	2019-11-13 15:56:54.938	error	(29884) at new Script (vm.js:83:7)
                    javascript.0	2019-11-13 15:56:54.938	error	(29884) SyntaxError: Unexpected end of input
                    javascript.0	2019-11-13 15:56:54.937	error	(29884)
                    javascript.0	2019-11-13 15:56:54.937	error	(29884) log('registered ' + __engine.__subscriptions + ' subscription' + (__engine.__subscriptions === 1 ? '' : 's' ) + ' and ' + __engine.__schedules + ' schedule' + (__engine.__schedules === 1 ? ''
                    javascript.0	2019-11-13 15:56:54.937	error	at script.js.common.Home.LogfileSrcipt2:1392
                    javascript.0	2019-11-13 15:56:54.937	error	(29884) script.js.common.Home.LogfileSrcipt2 compile failed:
                    

                    was bedeutet das?

                    GlasfaserG 1 Antwort Letzte Antwort
                    0
                    • B base

                      Hallo, bekomme nach Start des Scripts folgende Fehlermeldung:

                      javascript.0	2019-11-13 15:56:54.939	error	(29884) at process._tickCallback (internal/process/next_tick.js:68:7)
                      javascript.0	2019-11-13 15:56:54.939	error	(29884) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
                      javascript.0	2019-11-13 15:56:54.939	error	(29884) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                      javascript.0	2019-11-13 15:56:54.939	error	(29884) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:491:17)
                      javascript.0	2019-11-13 15:56:54.939	error	(29884) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:845:17)
                      javascript.0	2019-11-13 15:56:54.938	error	(29884) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1254:17)
                      javascript.0	2019-11-13 15:56:54.938	error	(29884) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1201:37)
                      javascript.0	2019-11-13 15:56:54.938	error	(29884) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:978:28)
                      javascript.0	2019-11-13 15:56:54.938	error	(29884) at Object.createScript (vm.js:277:10)
                      javascript.0	2019-11-13 15:56:54.938	error	(29884) at new Script (vm.js:83:7)
                      javascript.0	2019-11-13 15:56:54.938	error	(29884) SyntaxError: Unexpected end of input
                      javascript.0	2019-11-13 15:56:54.937	error	(29884)
                      javascript.0	2019-11-13 15:56:54.937	error	(29884) log('registered ' + __engine.__subscriptions + ' subscription' + (__engine.__subscriptions === 1 ? '' : 's' ) + ' and ' + __engine.__schedules + ' schedule' + (__engine.__schedules === 1 ? ''
                      javascript.0	2019-11-13 15:56:54.937	error	at script.js.common.Home.LogfileSrcipt2:1392
                      javascript.0	2019-11-13 15:56:54.937	error	(29884) script.js.common.Home.LogfileSrcipt2 compile failed:
                      

                      was bedeutet das?

                      GlasfaserG Offline
                      GlasfaserG Offline
                      Glasfaser
                      schrieb am zuletzt editiert von
                      #267

                      @base

                      Zeige mal bitte dein ganzes Skript.
                      Lade es als . txt Datei hier hoch.

                      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                      B 1 Antwort Letzte Antwort
                      0
                      • GlasfaserG Glasfaser

                        @base

                        Zeige mal bitte dein ganzes Skript.
                        Lade es als . txt Datei hier hoch.

                        B Offline
                        B Offline
                        base
                        schrieb am zuletzt editiert von
                        #268

                        @Glasfaser logfilescript.txt

                        GlasfaserG 1 Antwort Letzte Antwort
                        0
                        • B base

                          @Glasfaser logfilescript.txt

                          GlasfaserG Offline
                          GlasfaserG Offline
                          Glasfaser
                          schrieb am zuletzt editiert von Glasfaser
                          #269

                          @base

                          Hast du beim kopieren unterschlagen .

                          1.JPG

                          Habe es hier verbessert :

                          NEU .txt

                          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                          B 1 Antwort Letzte Antwort
                          0
                          • GlasfaserG Glasfaser

                            @base

                            Hast du beim kopieren unterschlagen .

                            1.JPG

                            Habe es hier verbessert :

                            NEU .txt

                            B Offline
                            B Offline
                            base
                            schrieb am zuletzt editiert von
                            #270

                            @Glasfaser

                            oh peinlich. Vielen Dank für den Hinweis:+1:

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              Sascha12
                              schrieb am zuletzt editiert von
                              #271

                              Hallo,
                              erstmal Kompliment, geiles Script, toll Dokumentiert, so viel Mühe. Meinen grössten Respekt.

                              Nun kommt meine Frage: Ich benutze Habpanel und möchte ungerne die VIS einblenden extra dafür, zumal Habpanel so einfach ist.
                              Dafür müsste mir das LOG die Daten nicht als Fließtext ausgeben, sondern es müsste immer einen harten Zeilenumbruch nach jeder Zeile einfügen.

                              Ein Beispiel wie ich eine Statusseite hardcoded eingegeben hatte in das Template-Widget. So müsste also der Syntax aussehen. Am Log-Code selbst hatte ich bisher extra nichts geändert.
                              Geht das irgendwie umzusetzen oder hat jemand irgendeine andere Idee wie ich es sauber in Habpanel einpflege?

                              {{itemValue('deconz.0.Sensors.5.lastupdated')}}<br>
                              {{itemValue('deconz.0.Sensors.6.lastupdated')}}<br>
                              {{itemValue('deconz.0.Sensors.7.lastupdated')}}<br>
                              {{itemValue('deconz.0.Sensors.8.lastupdated')}}<br>
                              

                              VG Sascha

                              MicM 1 Antwort Letzte Antwort
                              0
                              • S Sascha12

                                Hallo,
                                erstmal Kompliment, geiles Script, toll Dokumentiert, so viel Mühe. Meinen grössten Respekt.

                                Nun kommt meine Frage: Ich benutze Habpanel und möchte ungerne die VIS einblenden extra dafür, zumal Habpanel so einfach ist.
                                Dafür müsste mir das LOG die Daten nicht als Fließtext ausgeben, sondern es müsste immer einen harten Zeilenumbruch nach jeder Zeile einfügen.

                                Ein Beispiel wie ich eine Statusseite hardcoded eingegeben hatte in das Template-Widget. So müsste also der Syntax aussehen. Am Log-Code selbst hatte ich bisher extra nichts geändert.
                                Geht das irgendwie umzusetzen oder hat jemand irgendeine andere Idee wie ich es sauber in Habpanel einpflege?

                                {{itemValue('deconz.0.Sensors.5.lastupdated')}}<br>
                                {{itemValue('deconz.0.Sensors.6.lastupdated')}}<br>
                                {{itemValue('deconz.0.Sensors.7.lastupdated')}}<br>
                                {{itemValue('deconz.0.Sensors.8.lastupdated')}}<br>
                                

                                VG Sascha

                                MicM Offline
                                MicM Offline
                                Mic
                                Developer
                                schrieb am zuletzt editiert von
                                #272

                                @Sascha12
                                Vielen Dank für dein Feedback :-) !

                                Was du machen kannst:
                                Den entsprechenden Datenpunkt von logJSON, also etwa javascript.0.Log-Script.xxxxx.logJSON, einfach auf Änderung überwachen. Bei Änderung dann auslesen, die Logzeilen neu aufbauen, und dann in einen neuen Datenpunkt ausgeben.
                                Beispiel (kopiert aus einem Script von mir):

                                // State von Logfile-Script, den wir verarbeiten wollen
                                const STATE_LOG = 'javascript.0.Log-Script.logError.logJSON';
                                
                                // Neuer State, der die geparste Ausgabe enthält
                                const STATE_RESULT = 'javascript.0.Test.Testlog'
                                
                                ///////////////////////////////////////////////////////////////////////////////////////////////
                                //////////////////////////// AB HIER NICHTS MEHR ÄNDERN ///////////////////////////////////////
                                ///////////////////////////////////////////////////////////////////////////////////////////////
                                
                                createState(STATE_RESULT, {'name':'Test Log', 'type':'string', 'read':true, 'write':true, 'def':'' });
                                
                                on({id: STATE_LOG, change: 'any'}, function (obj) {
                                    doStuff();
                                });
                                
                                
                                function doStuff() {
                                
                                    let obj;
                                    // https://forum.iobroker.net/topic/6805/mqtt-json-einzelner-datenpunkt-sonoffpow-script/4
                                	try {obj = JSON.parse(getState(STATE_LOG).val);
                                	} catch (e) {
                                        	log('Cannot parse: ' + getState(STATE_LOG).val, 'warn');
                                        	return;
                                 	}
                                
                                    let logStr = '';
                                    for (let lpEntry of obj) {
                                
                                        // hier kannst du beliebig alles anpassen für die Ausgabe        
                                        logStr += lpEntry.date + ' - Level: ' + lpEntry.level + ', Quelle: ' + lpEntry.source + ', Message: ' + lpEntry.msg;
                                
                                    }
                                
                                    setState(STATE_RESULT, logStr);
                                
                                }
                                

                                Bei // hier kannst du beliebig alles anpassen für die Ausgabe kannst du deine Ausgabe individuell konfigurieren.

                                S 1 Antwort Letzte Antwort
                                0
                                • MicM Mic

                                  @Sascha12
                                  Vielen Dank für dein Feedback :-) !

                                  Was du machen kannst:
                                  Den entsprechenden Datenpunkt von logJSON, also etwa javascript.0.Log-Script.xxxxx.logJSON, einfach auf Änderung überwachen. Bei Änderung dann auslesen, die Logzeilen neu aufbauen, und dann in einen neuen Datenpunkt ausgeben.
                                  Beispiel (kopiert aus einem Script von mir):

                                  // State von Logfile-Script, den wir verarbeiten wollen
                                  const STATE_LOG = 'javascript.0.Log-Script.logError.logJSON';
                                  
                                  // Neuer State, der die geparste Ausgabe enthält
                                  const STATE_RESULT = 'javascript.0.Test.Testlog'
                                  
                                  ///////////////////////////////////////////////////////////////////////////////////////////////
                                  //////////////////////////// AB HIER NICHTS MEHR ÄNDERN ///////////////////////////////////////
                                  ///////////////////////////////////////////////////////////////////////////////////////////////
                                  
                                  createState(STATE_RESULT, {'name':'Test Log', 'type':'string', 'read':true, 'write':true, 'def':'' });
                                  
                                  on({id: STATE_LOG, change: 'any'}, function (obj) {
                                      doStuff();
                                  });
                                  
                                  
                                  function doStuff() {
                                  
                                      let obj;
                                      // https://forum.iobroker.net/topic/6805/mqtt-json-einzelner-datenpunkt-sonoffpow-script/4
                                  	try {obj = JSON.parse(getState(STATE_LOG).val);
                                  	} catch (e) {
                                          	log('Cannot parse: ' + getState(STATE_LOG).val, 'warn');
                                          	return;
                                   	}
                                  
                                      let logStr = '';
                                      for (let lpEntry of obj) {
                                  
                                          // hier kannst du beliebig alles anpassen für die Ausgabe        
                                          logStr += lpEntry.date + ' - Level: ' + lpEntry.level + ', Quelle: ' + lpEntry.source + ', Message: ' + lpEntry.msg;
                                  
                                      }
                                  
                                      setState(STATE_RESULT, logStr);
                                  
                                  }
                                  

                                  Bei // hier kannst du beliebig alles anpassen für die Ausgabe kannst du deine Ausgabe individuell konfigurieren.

                                  S Offline
                                  S Offline
                                  Sascha12
                                  schrieb am zuletzt editiert von
                                  #273

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

                                  @Sascha12
                                  Vielen Dank für dein Feedback :-) !

                                  Was du machen kannst:

                                  Danke Dir. Das muss ich erstmal ansehen. Habe es implementiert und funktioniert wie von Dir angegeben !

                                  Ich glaube aber, dass ich das nicht weiter verfolge, weil das weitere Anpassen über meinen Horizont geht.

                                  Ich müsste ja auch in JS eine Tabelle definieren und in den Code einfügen, weil Habpanel "nur" den reinen Code nimmt im Template-Widget.
                                  VG Sascha

                                  1 Antwort Letzte Antwort
                                  0
                                  • AlexAtHomeA Offline
                                    AlexAtHomeA Offline
                                    AlexAtHome
                                    schrieb am zuletzt editiert von
                                    #274

                                    Hi @Mic ,

                                    vielen, vielen Dank für Dein Script!
                                    Ich habe es gerade bei mir auf die aktuellste Version upgedated, und es läuft soweit. Jedoch sagt er mir im Script-Editor folgendes:
                                    In der Function init in Zeile

                                    // Subscribe to log handler
                                            G_LogHandler = onLog('*', data => {
                                                processNewLogLine(data);
                                            });
                                    

                                    Das * wird angemeckert, bei Mouse-Over kommt diese Meldung:

                                    Argument of type '"*"' is not assignable to parameter of type 'LogLevel'.
                                    

                                    Ist das ein Problem?

                                    Vielen Dank + Greets, Alex

                                    MicM 1 Antwort Letzte Antwort
                                    0
                                    • AlexAtHomeA AlexAtHome

                                      Hi @Mic ,

                                      vielen, vielen Dank für Dein Script!
                                      Ich habe es gerade bei mir auf die aktuellste Version upgedated, und es läuft soweit. Jedoch sagt er mir im Script-Editor folgendes:
                                      In der Function init in Zeile

                                      // Subscribe to log handler
                                              G_LogHandler = onLog('*', data => {
                                                  processNewLogLine(data);
                                              });
                                      

                                      Das * wird angemeckert, bei Mouse-Over kommt diese Meldung:

                                      Argument of type '"*"' is not assignable to parameter of type 'LogLevel'.
                                      

                                      Ist das ein Problem?

                                      Vielen Dank + Greets, Alex

                                      MicM Offline
                                      MicM Offline
                                      Mic
                                      Developer
                                      schrieb am zuletzt editiert von Mic
                                      #275

                                      Hi @AlexAtHome aka Alex,

                                      vielen Dank für dein Feedback :-)
                                      Die Syntax-Funktion vom JavaScript-Editor mag leider den ziemlich neuen Befehl onLog('*'), also mit Sternchen, noch nicht und kennzeichnet dies als Fehler, während das aber vollständig von ioBroker unterstützt wird.
                                      Siehe https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#onlog
                                      Daher: diese Meldung im JavaScript-Editor kannst du absolut ignorieren, hat keinerlei Auswirkung.
                                      Viel Spaß beim Anwenden des Scripts.

                                      apollon77A 1 Antwort Letzte Antwort
                                      0
                                      • MicM Mic

                                        Hi @AlexAtHome aka Alex,

                                        vielen Dank für dein Feedback :-)
                                        Die Syntax-Funktion vom JavaScript-Editor mag leider den ziemlich neuen Befehl onLog('*'), also mit Sternchen, noch nicht und kennzeichnet dies als Fehler, während das aber vollständig von ioBroker unterstützt wird.
                                        Siehe https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#onlog
                                        Daher: diese Meldung im JavaScript-Editor kannst du absolut ignorieren, hat keinerlei Auswirkung.
                                        Viel Spaß beim Anwenden des Scripts.

                                        apollon77A Offline
                                        apollon77A Offline
                                        apollon77
                                        schrieb am zuletzt editiert von
                                        #276

                                        @Mic dann bitte GitHub issue beim JavaScript Adapter anlegen. Danke

                                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                        MicM 1 Antwort Letzte Antwort
                                        0
                                        • apollon77A apollon77

                                          @Mic dann bitte GitHub issue beim JavaScript Adapter anlegen. Danke

                                          MicM Offline
                                          MicM Offline
                                          Mic
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #277

                                          @apollon77
                                          gerne, erledigt: https://github.com/ioBroker/ioBroker.javascript/issues/457

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          838

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe