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.7k

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

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

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
617 Beiträge 60 Kommentatoren 154.3k 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
    #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
                            • B Offline
                              B Offline
                              blackeagle998
                              schrieb am zuletzt editiert von
                              #278

                              @Mic
                              Ich habe solange nach einer Überwachungsmöglichkeit für die Logs gesucht und bin nun endlich auf dein wunderbares Skript gestoßen. Herzlichen Dank, dass ihr Entwickler euch solche Mühen macht, gerade auch was Support und Weiterentwicklung betrifft!

                              Da ich kein VIS oder ähnliches nutze, lasse ich mir Error Meldungen und bestimmte andere Meldungen (eigene Filter und States habe ich bereits angelegt) per Pushover senden.
                              Im Grunde funktioniert das auch super, allerdings ist die Liste an Error Meldungen sehr lang, da ja die Meldungen der Vortage noch enthalten sind.
                              Theoretisch könnte ich jeden Tag um 00:01Uhr alles leer machen, aber da gibt es doch bestimmt noch eine elegantere Lösung.

                              Ich möchte gerne, dass in den Error-State nur die neuen Fehlermeldungen geschrieben werden, alle davor existierenden sind irrelevant. Kannst du mir sagen, an welcher Stelle ich was einbauen / abklemmen müsste, damit das so funktioniert?
                              Ich habe schon irgendwo was mit "merge" gesehen, da werden die Nachrichten bestimmt zusammengefügt, aber mir fehlt das Detailwissen um da alleine einzugreifen :-)

                              In diesem Sinne freue ich mich auf deine Rückmeldung.

                              GlasfaserG MicM 2 Antworten Letzte Antwort
                              0
                              • B blackeagle998

                                @Mic
                                Ich habe solange nach einer Überwachungsmöglichkeit für die Logs gesucht und bin nun endlich auf dein wunderbares Skript gestoßen. Herzlichen Dank, dass ihr Entwickler euch solche Mühen macht, gerade auch was Support und Weiterentwicklung betrifft!

                                Da ich kein VIS oder ähnliches nutze, lasse ich mir Error Meldungen und bestimmte andere Meldungen (eigene Filter und States habe ich bereits angelegt) per Pushover senden.
                                Im Grunde funktioniert das auch super, allerdings ist die Liste an Error Meldungen sehr lang, da ja die Meldungen der Vortage noch enthalten sind.
                                Theoretisch könnte ich jeden Tag um 00:01Uhr alles leer machen, aber da gibt es doch bestimmt noch eine elegantere Lösung.

                                Ich möchte gerne, dass in den Error-State nur die neuen Fehlermeldungen geschrieben werden, alle davor existierenden sind irrelevant. Kannst du mir sagen, an welcher Stelle ich was einbauen / abklemmen müsste, damit das so funktioniert?
                                Ich habe schon irgendwo was mit "merge" gesehen, da werden die Nachrichten bestimmt zusammengefügt, aber mir fehlt das Detailwissen um da alleine einzugreifen :-)

                                In diesem Sinne freue ich mich auf deine Rückmeldung.

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

                                @blackeagle998

                                Meist du so :

                                damit bekommt man die letzte nachricht des json's -

                                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

                                  @blackeagle998

                                  Meist du so :

                                  damit bekommt man die letzte nachricht des json's -

                                  B Offline
                                  B Offline
                                  blackeagle998
                                  schrieb am zuletzt editiert von
                                  #280

                                  @Glasfaser
                                  Danke, das probiere ich mal aus.

                                  Wenn seit dem letzten Lauf fünf Error Meldungen vorhanden sind, gibt er dann genau diese Differenz aus oder tatsächlich nur die allerletzte Message?

                                  1 Antwort Letzte Antwort
                                  0
                                  • B blackeagle998

                                    @Mic
                                    Ich habe solange nach einer Überwachungsmöglichkeit für die Logs gesucht und bin nun endlich auf dein wunderbares Skript gestoßen. Herzlichen Dank, dass ihr Entwickler euch solche Mühen macht, gerade auch was Support und Weiterentwicklung betrifft!

                                    Da ich kein VIS oder ähnliches nutze, lasse ich mir Error Meldungen und bestimmte andere Meldungen (eigene Filter und States habe ich bereits angelegt) per Pushover senden.
                                    Im Grunde funktioniert das auch super, allerdings ist die Liste an Error Meldungen sehr lang, da ja die Meldungen der Vortage noch enthalten sind.
                                    Theoretisch könnte ich jeden Tag um 00:01Uhr alles leer machen, aber da gibt es doch bestimmt noch eine elegantere Lösung.

                                    Ich möchte gerne, dass in den Error-State nur die neuen Fehlermeldungen geschrieben werden, alle davor existierenden sind irrelevant. Kannst du mir sagen, an welcher Stelle ich was einbauen / abklemmen müsste, damit das so funktioniert?
                                    Ich habe schon irgendwo was mit "merge" gesehen, da werden die Nachrichten bestimmt zusammengefügt, aber mir fehlt das Detailwissen um da alleine einzugreifen :-)

                                    In diesem Sinne freue ich mich auf deine Rückmeldung.

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

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

                                    @Mic
                                    Ich habe solange nach einer Überwachungsmöglichkeit für die Logs gesucht und bin nun endlich auf dein wunderbares Skript gestoßen. Herzlichen Dank, dass ihr Entwickler euch solche Mühen macht, gerade auch was Support und Weiterentwicklung betrifft!

                                    Danke für dein Feedback :-)

                                    Ich möchte gerne, dass in den Error-State nur die neuen Fehlermeldungen geschrieben werden, alle davor existierenden sind irrelevant. Kannst du mir sagen, an welcher Stelle ich was einbauen / abklemmen müsste, damit das so funktioniert?

                                    Wie definierst du denn "neu" und "davor"? Über Anzahl Stunden, also z.B. alle Meldungen älter als x Stunden ignorieren/rauswerfen?

                                    B 1 Antwort Letzte Antwort
                                    0
                                    • MicM Mic

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

                                      @Mic
                                      Ich habe solange nach einer Überwachungsmöglichkeit für die Logs gesucht und bin nun endlich auf dein wunderbares Skript gestoßen. Herzlichen Dank, dass ihr Entwickler euch solche Mühen macht, gerade auch was Support und Weiterentwicklung betrifft!

                                      Danke für dein Feedback :-)

                                      Ich möchte gerne, dass in den Error-State nur die neuen Fehlermeldungen geschrieben werden, alle davor existierenden sind irrelevant. Kannst du mir sagen, an welcher Stelle ich was einbauen / abklemmen müsste, damit das so funktioniert?

                                      Wie definierst du denn "neu" und "davor"? Über Anzahl Stunden, also z.B. alle Meldungen älter als x Stunden ignorieren/rauswerfen?

                                      B Offline
                                      B Offline
                                      blackeagle998
                                      schrieb am zuletzt editiert von blackeagle998
                                      #282

                                      @Mic
                                      Ich habe das Skript auf 60 Sekunden gestellt. Das heißt, alles was an neuen Meldungen (in diesem Fall Error) im Vergleich zum vorherigen Lauf hinzugekommen ist, brauche ich in einem Datenpunkt, sodass ich nur diese neuen Meldungen per Pushover versenden kann.

                                      @Glasfaser
                                      Das Blockly habe ich getestet, leider nicht erfolgreich.
                                      Es wurde nur eine bestimmte Message ausgegeben, allerdings ist die von vor fünf Tagen und scheint für mich willkürlich aus dem kompletten JSON gewählt worden zu sein 😁

                                      1 Antwort Letzte Antwort
                                      0
                                      • A Offline
                                        A Offline
                                        Alexxx2005
                                        schrieb am zuletzt editiert von Alexxx2005
                                        #283

                                        Hallo,

                                        bin gerade auf dieses Skript gestossen und erhoffe mir mein Problem zu lösen,
                                        der Parser0 gibt mir div. Wartezeiten aus, es soll eine Tabelle generiert werden mit Aufsteigenden Wartezeiten, der parser.0 gibt folgendes aus :

                                        Parser0.PNG

                                        hierzu dacht ich an das Beispiel mit dem Hubschrauber, aber leider funktioniert das nicht, was mache ich falsch ?

                                          {
                                        
                                            id:          'all',
                                        
                                            filter_all:  ['parser.0'],
                                        
                                            filter_any:  [],
                                        
                                            blacklist:   [],
                                        
                                          },
                                        

                                        Grüße Alex

                                        GlasfaserG 1 Antwort Letzte Antwort
                                        0
                                        • A Alexxx2005

                                          Hallo,

                                          bin gerade auf dieses Skript gestossen und erhoffe mir mein Problem zu lösen,
                                          der Parser0 gibt mir div. Wartezeiten aus, es soll eine Tabelle generiert werden mit Aufsteigenden Wartezeiten, der parser.0 gibt folgendes aus :

                                          Parser0.PNG

                                          hierzu dacht ich an das Beispiel mit dem Hubschrauber, aber leider funktioniert das nicht, was mache ich falsch ?

                                            {
                                          
                                              id:          'all',
                                          
                                              filter_all:  ['parser.0'],
                                          
                                              filter_any:  [],
                                          
                                              blacklist:   [],
                                          
                                            },
                                          

                                          Grüße Alex

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

                                          @Alexxx2005

                                          Was hältst du hiervon , dort kannst du die Datenpunkte in VIS anzeigen lassen.

                                          ID oder Name eines State in Vis anzeigen

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          691

                                          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