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
    #135

    Danke @liv-in-sky
    Habe auch gerade noch mal getestet. MERGE_LOGLINES_ACTIVE auf true läuft nicht zuverlässig, nicht alles wird geloggt. Ich werde jetzt das Script v1.5 auf v1.5.1 setzen und die Funktion MERGE_LOGLINES_ACTIVE auf "experimental", und im Default auf false, da sonst alles zu funktionieren scheint.
    Also bitte solange MERGE_LOGLINES_ACTIVE auf false setzen, bis ich das behoben habe.

    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • MicM Mic

      Danke @liv-in-sky
      Habe auch gerade noch mal getestet. MERGE_LOGLINES_ACTIVE auf true läuft nicht zuverlässig, nicht alles wird geloggt. Ich werde jetzt das Script v1.5 auf v1.5.1 setzen und die Funktion MERGE_LOGLINES_ACTIVE auf "experimental", und im Default auf false, da sonst alles zu funktionieren scheint.
      Also bitte solange MERGE_LOGLINES_ACTIVE auf false setzen, bis ich das behoben habe.

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von liv-in-sky
      #136

      @Mic hab jetzt mal einen anderen fehler gemacht erzeugt - internet router aus !

      es werden nun mehr sachen angezeigt - ich habe mal nodered deaktiviert und es scheint dieser fehler zu sein, der ärger macht - er zeigz sich auch anders im log - nodered und sql datenbank scheint ein tolles duo zu sein

      	-------------------		
      node-red.0	2019-08-06 22:55:03.091	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14)
      node-red.0	2019-08-06 22:55:03.091	error	6 Aug 22:55:03 - [error] [MySQLdatabase:79f00594.84665c] Error: connect ECONNREFUSED 192.168.178.157:3306
      	-------------------		at Timer.processTimers (timers.js:223:10)
      	-------------------		at listOnTimeout (timers.js:263:5)
      	-------------------		at tryOnTimeout (timers.js:300:5)
      	-------------------		at ontimeout (timers.js:436:11)
      	-------------------		at Timeout.doConnect [as _onTimeout] (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-node-mysql/68-mysql.js:48:23)
      	-------------------		at Pool.getConnection (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/Pool.js:48:16)
      	-------------------		at PoolConnection.connect (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/Connection.js:118:18)
      	-------------------		at Protocol.handshake (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/protocol/Protocol.js:51:23)
      	-------------------		at Protocol._enqueue (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/protocol/Protocol.js:144:48)
      	-------------------		
      node-red.0	2019-08-06 22:55:03.087	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14)
      node-red.0	2019-08-06 22:55:03.087	error	6 Aug 22:55:03 - [error] [MySQLdatabase:79f00594.84665c] Error: connect ECONNREFUSED 192.168.178.157:3306
      	-------------------		at Timer.processTimers (timers.js:223:10)
      	-------------------		at listOnTimeout (timers.js:263:5)
      	-------------------		at tryOnTimeout (timers.js:300:5)
      	-------------------		at ontimeout (timers.js:436:11)
      	-------------------		at Timeout.doConnect [as _onTimeout] (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-node-mysql/68-mysql.js:48:23)
      	-------------------		at Pool.getConnection (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/Pool.js:48:16)
      	-------------------		at PoolConnection.connect (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/Connection.js:118:18)
      	-------------------		at Protocol.handshake (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/protocol/Protocol.js:51:23)
      	-------------------		at Protocol._enqueue (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/protocol/Protocol.js:144:48)
      	-------------------		
      

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      MicM 1 Antwort Letzte Antwort
      0
      • liv-in-skyL liv-in-sky

        @Mic hab jetzt mal einen anderen fehler gemacht erzeugt - internet router aus !

        es werden nun mehr sachen angezeigt - ich habe mal nodered deaktiviert und es scheint dieser fehler zu sein, der ärger macht - er zeigz sich auch anders im log - nodered und sql datenbank scheint ein tolles duo zu sein

        	-------------------		
        node-red.0	2019-08-06 22:55:03.091	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14)
        node-red.0	2019-08-06 22:55:03.091	error	6 Aug 22:55:03 - [error] [MySQLdatabase:79f00594.84665c] Error: connect ECONNREFUSED 192.168.178.157:3306
        	-------------------		at Timer.processTimers (timers.js:223:10)
        	-------------------		at listOnTimeout (timers.js:263:5)
        	-------------------		at tryOnTimeout (timers.js:300:5)
        	-------------------		at ontimeout (timers.js:436:11)
        	-------------------		at Timeout.doConnect [as _onTimeout] (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-node-mysql/68-mysql.js:48:23)
        	-------------------		at Pool.getConnection (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/Pool.js:48:16)
        	-------------------		at PoolConnection.connect (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/Connection.js:118:18)
        	-------------------		at Protocol.handshake (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/protocol/Protocol.js:51:23)
        	-------------------		at Protocol._enqueue (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/protocol/Protocol.js:144:48)
        	-------------------		
        node-red.0	2019-08-06 22:55:03.087	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14)
        node-red.0	2019-08-06 22:55:03.087	error	6 Aug 22:55:03 - [error] [MySQLdatabase:79f00594.84665c] Error: connect ECONNREFUSED 192.168.178.157:3306
        	-------------------		at Timer.processTimers (timers.js:223:10)
        	-------------------		at listOnTimeout (timers.js:263:5)
        	-------------------		at tryOnTimeout (timers.js:300:5)
        	-------------------		at ontimeout (timers.js:436:11)
        	-------------------		at Timeout.doConnect [as _onTimeout] (/opt/iobroker/iobroker-data/node-red/node_modules/node-red-node-mysql/68-mysql.js:48:23)
        	-------------------		at Pool.getConnection (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/Pool.js:48:16)
        	-------------------		at PoolConnection.connect (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/Connection.js:118:18)
        	-------------------		at Protocol.handshake (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/protocol/Protocol.js:51:23)
        	-------------------		at Protocol._enqueue (/opt/iobroker/iobroker-data/node-red/node_modules/mysql/lib/protocol/Protocol.js:144:48)
        	-------------------		
        
        MicM Offline
        MicM Offline
        Mic
        Developer
        schrieb am zuletzt editiert von
        #137

        @liv-in-sky cool, danke für deine Hilfe und Feedback, sehr hilfreich! Kann ich mir so näher ansehen zur Analyse. Bis dahin ist jetzt Version 1.5.1 aktiv mit deaktivierter Funktion (als Default).

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • MicM Mic

          @liv-in-sky cool, danke für deine Hilfe und Feedback, sehr hilfreich! Kann ich mir so näher ansehen zur Analyse. Bis dahin ist jetzt Version 1.5.1 aktiv mit deaktivierter Funktion (als Default).

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #138

          @Mic bin froh, dass du das script nochmal erneuert hast - da hilft man gern !

          so sieht es dann aus - und die zeilen bleiben auch stehen - ob alle meldungen aufgeführt sind, kann ich nicht sagen

          Image 1.png

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            slonnet
            schrieb am zuletzt editiert von
            #139

            Hallo zusammen,
            leider werden auch mit der Version 1.5.1 und MERGE_LOGLINES_ACTIVE auf false viel Logeinträge verschluckt wie bei @liv-in-sky .
            Ich habe noch paralell ein altes LogFile Script in der Version 0.8.1 mitlaufen. Hier sind alle Einträge vorhanden.
            Es scheint, als werden Einträge verschluckt, die in sehr kurzen Abständen hintereinandern kommen.

            LogFile.jpg

            MicM 1 Antwort Letzte Antwort
            0
            • S slonnet

              Hallo zusammen,
              leider werden auch mit der Version 1.5.1 und MERGE_LOGLINES_ACTIVE auf false viel Logeinträge verschluckt wie bei @liv-in-sky .
              Ich habe noch paralell ein altes LogFile Script in der Version 0.8.1 mitlaufen. Hier sind alle Einträge vorhanden.
              Es scheint, als werden Einträge verschluckt, die in sehr kurzen Abständen hintereinandern kommen.

              LogFile.jpg

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

              @slonnet
              Vielen Dank fürs Testen. Bei "MERGE_LOGLINES_ACTIVE auf false" habe ich die Implementierung von tail in Verdacht. Ich finde in diesem Zusammenhang https://github.com/vladimir-kazan/nodejs-tail sehr interessant zur Implementierung, werde ich mir mal näher ansehen und in eine Testversion implementieren.

              liv-in-skyL 1 Antwort Letzte Antwort
              0
              • MicM Mic

                @slonnet
                Vielen Dank fürs Testen. Bei "MERGE_LOGLINES_ACTIVE auf false" habe ich die Implementierung von tail in Verdacht. Ich finde in diesem Zusammenhang https://github.com/vladimir-kazan/nodejs-tail sehr interessant zur Implementierung, werde ich mir mal näher ansehen und in eine Testversion implementieren.

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von liv-in-sky
                #141

                @Mic

                kurz ne dumme frage - läuft das script wenn redis installiert ist ?

                erledigt - war ein mischmasch der datenpunkte bei der umstellung auf redis

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

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

                  Breaking News :-)

                  Es gibt jetzt eine Version 2.01a, diese behebt alle bisherigen Fehler nach meinen umfangreichen Tests. Ab Version 1.0 wurden bei jedem neuen Logeintrag sofort die States ausgelesen und geschrieben, aber das war nicht zielführend da zu langsam, wenn schnell viele neue Logs reinkommen im kleinen ms-Bereich oder darunter. Daher wurden dadurch nicht alle Log-Einträge mitgeloggt.

                  Ich habe daher umgestellt, nun werden die Datenpunkte nur alle paar Sekunden aktualisiert, gemäß Option STATE_UPDATE_SCHEDULE, voreingestellt alle 20 Sekunden. 2-3 Sekunden funktioniert auch.

                  Außerdem funktioniert nun auch das Zusammenfassen der Logeinträge zuverlässig:

                   * merge:      Log-Einträge mit gleichem Text zusammenfassen. Beispiel:
                   *                  -----------------------------------------------------------------------------------
                   *                  2019-08-17 20:00:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                   *                  2019-08-17 20:15:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                   *                  2019-08-17 20:30:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                   *                  -----------------------------------------------------------------------------------
                   *             Daraus wird dann nur noch eine Logzeile mit letztem Datum/Uhrzeit und hinzufügen von "[3 Einträge]":
                   *                  -----------------------------------------------------------------------------------
                   *                  2019-08-17 20:30:00.335 - info: javascript.0 [3 Einträge] script.js.Wetter: Wetterdaten abrufen.
                   *                  -----------------------------------------------------------------------------------
                   *
                  

                  Das ist jetzt auch pro Eintrag ("id") in den Optionen für LOG_FILTER ein- und ausstellbar, und nicht mehr global.

                  Zum Aktualisieren:
                  1.) Bestehendes Script stoppen
                  2.) Alle Datenpunkte löschen
                  3.) Script durch neues Script vollständig ersetzen, also nicht nur unterhalb der Optionen
                  4.) Alle Optionen neu setzen
                  5.) Starten und freuen :-)

                  Freue mich auf Euer Feedback, ob es auch bei Euch so gut und zuverlässig läuft.

                  Hier zum Script: Version 2.01a

                  Nachtrag:
                  Datenpunkte ".logMostRecent" sind nicht mehr verfügbar, machen auch keinen Sinn, wenn viele Logeinträge gleichzeitig reinfliegen. Stattdessen kann man den Datenpunkt ".log" auf Veränderung überwachen, und dann dessen Inhalt entsprechend auswerten, um etwa Push-Mitteilungen etc. zu veranlassen. Gerne gebe ich Euch hierfür bei Bedarf ein Script-Beispiel.

                  crunchipC Dr. BakteriusD liv-in-skyL 3 Antworten Letzte Antwort
                  3
                  • MicM Mic

                    Breaking News :-)

                    Es gibt jetzt eine Version 2.01a, diese behebt alle bisherigen Fehler nach meinen umfangreichen Tests. Ab Version 1.0 wurden bei jedem neuen Logeintrag sofort die States ausgelesen und geschrieben, aber das war nicht zielführend da zu langsam, wenn schnell viele neue Logs reinkommen im kleinen ms-Bereich oder darunter. Daher wurden dadurch nicht alle Log-Einträge mitgeloggt.

                    Ich habe daher umgestellt, nun werden die Datenpunkte nur alle paar Sekunden aktualisiert, gemäß Option STATE_UPDATE_SCHEDULE, voreingestellt alle 20 Sekunden. 2-3 Sekunden funktioniert auch.

                    Außerdem funktioniert nun auch das Zusammenfassen der Logeinträge zuverlässig:

                     * merge:      Log-Einträge mit gleichem Text zusammenfassen. Beispiel:
                     *                  -----------------------------------------------------------------------------------
                     *                  2019-08-17 20:00:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                     *                  2019-08-17 20:15:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                     *                  2019-08-17 20:30:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                     *                  -----------------------------------------------------------------------------------
                     *             Daraus wird dann nur noch eine Logzeile mit letztem Datum/Uhrzeit und hinzufügen von "[3 Einträge]":
                     *                  -----------------------------------------------------------------------------------
                     *                  2019-08-17 20:30:00.335 - info: javascript.0 [3 Einträge] script.js.Wetter: Wetterdaten abrufen.
                     *                  -----------------------------------------------------------------------------------
                     *
                    

                    Das ist jetzt auch pro Eintrag ("id") in den Optionen für LOG_FILTER ein- und ausstellbar, und nicht mehr global.

                    Zum Aktualisieren:
                    1.) Bestehendes Script stoppen
                    2.) Alle Datenpunkte löschen
                    3.) Script durch neues Script vollständig ersetzen, also nicht nur unterhalb der Optionen
                    4.) Alle Optionen neu setzen
                    5.) Starten und freuen :-)

                    Freue mich auf Euer Feedback, ob es auch bei Euch so gut und zuverlässig läuft.

                    Hier zum Script: Version 2.01a

                    Nachtrag:
                    Datenpunkte ".logMostRecent" sind nicht mehr verfügbar, machen auch keinen Sinn, wenn viele Logeinträge gleichzeitig reinfliegen. Stattdessen kann man den Datenpunkt ".log" auf Veränderung überwachen, und dann dessen Inhalt entsprechend auswerten, um etwa Push-Mitteilungen etc. zu veranlassen. Gerne gebe ich Euch hierfür bei Bedarf ein Script-Beispiel.

                    crunchipC Offline
                    crunchipC Offline
                    crunchip
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #143

                    @Mic habs gleich mal installiert, jedoch erstmal ohne etwas zu verändern und ohne gross durchzulesen.

                    Ich hab ja gar keine Homematic:joy:

                    Vielen, vielen Dank für dein Engagement :ok_hand:

                    umgestiegen von Proxmox auf Unraid

                    1 Antwort Letzte Antwort
                    0
                    • MicM Mic

                      Breaking News :-)

                      Es gibt jetzt eine Version 2.01a, diese behebt alle bisherigen Fehler nach meinen umfangreichen Tests. Ab Version 1.0 wurden bei jedem neuen Logeintrag sofort die States ausgelesen und geschrieben, aber das war nicht zielführend da zu langsam, wenn schnell viele neue Logs reinkommen im kleinen ms-Bereich oder darunter. Daher wurden dadurch nicht alle Log-Einträge mitgeloggt.

                      Ich habe daher umgestellt, nun werden die Datenpunkte nur alle paar Sekunden aktualisiert, gemäß Option STATE_UPDATE_SCHEDULE, voreingestellt alle 20 Sekunden. 2-3 Sekunden funktioniert auch.

                      Außerdem funktioniert nun auch das Zusammenfassen der Logeinträge zuverlässig:

                       * merge:      Log-Einträge mit gleichem Text zusammenfassen. Beispiel:
                       *                  -----------------------------------------------------------------------------------
                       *                  2019-08-17 20:00:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                       *                  2019-08-17 20:15:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                       *                  2019-08-17 20:30:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                       *                  -----------------------------------------------------------------------------------
                       *             Daraus wird dann nur noch eine Logzeile mit letztem Datum/Uhrzeit und hinzufügen von "[3 Einträge]":
                       *                  -----------------------------------------------------------------------------------
                       *                  2019-08-17 20:30:00.335 - info: javascript.0 [3 Einträge] script.js.Wetter: Wetterdaten abrufen.
                       *                  -----------------------------------------------------------------------------------
                       *
                      

                      Das ist jetzt auch pro Eintrag ("id") in den Optionen für LOG_FILTER ein- und ausstellbar, und nicht mehr global.

                      Zum Aktualisieren:
                      1.) Bestehendes Script stoppen
                      2.) Alle Datenpunkte löschen
                      3.) Script durch neues Script vollständig ersetzen, also nicht nur unterhalb der Optionen
                      4.) Alle Optionen neu setzen
                      5.) Starten und freuen :-)

                      Freue mich auf Euer Feedback, ob es auch bei Euch so gut und zuverlässig läuft.

                      Hier zum Script: Version 2.01a

                      Nachtrag:
                      Datenpunkte ".logMostRecent" sind nicht mehr verfügbar, machen auch keinen Sinn, wenn viele Logeinträge gleichzeitig reinfliegen. Stattdessen kann man den Datenpunkt ".log" auf Veränderung überwachen, und dann dessen Inhalt entsprechend auswerten, um etwa Push-Mitteilungen etc. zu veranlassen. Gerne gebe ich Euch hierfür bei Bedarf ein Script-Beispiel.

                      Dr. BakteriusD Offline
                      Dr. BakteriusD Offline
                      Dr. Bakterius
                      Most Active
                      schrieb am zuletzt editiert von
                      #144

                      @Mic Super! Vielen Dank!

                      Mal eine Frage: kann man aus dem Skript nicht einen vollwertigen Adapter machen? Das wäre einfacher zu handhaben. So muss man immer wieder die Einstellungen neu vornehmen. Da muss man Filter neu setzen, benötigte Datenpunkte ein- oder auskommentieren, usw. Wäre schön, wenn das möglich wäre. Oder zumindest die Einstellungen gleich lassen und nur bei Bedarf ergänzen und das hier mitteilen. Aber ein Adapter wäre eindeutig praktischer.

                      MicM 1 Antwort Letzte Antwort
                      1
                      • NashraN Offline
                        NashraN Offline
                        Nashra
                        Most Active Forum Testing
                        schrieb am zuletzt editiert von
                        #145

                        Hallo @Mic , vielen vielen Dank für deine Arbeit hier :+1: :+1: :+1: :+1: :+1: :+1:

                        Gruß Ralf
                        Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        1 Antwort Letzte Antwort
                        0
                        • MicM Mic

                          Breaking News :-)

                          Es gibt jetzt eine Version 2.01a, diese behebt alle bisherigen Fehler nach meinen umfangreichen Tests. Ab Version 1.0 wurden bei jedem neuen Logeintrag sofort die States ausgelesen und geschrieben, aber das war nicht zielführend da zu langsam, wenn schnell viele neue Logs reinkommen im kleinen ms-Bereich oder darunter. Daher wurden dadurch nicht alle Log-Einträge mitgeloggt.

                          Ich habe daher umgestellt, nun werden die Datenpunkte nur alle paar Sekunden aktualisiert, gemäß Option STATE_UPDATE_SCHEDULE, voreingestellt alle 20 Sekunden. 2-3 Sekunden funktioniert auch.

                          Außerdem funktioniert nun auch das Zusammenfassen der Logeinträge zuverlässig:

                           * merge:      Log-Einträge mit gleichem Text zusammenfassen. Beispiel:
                           *                  -----------------------------------------------------------------------------------
                           *                  2019-08-17 20:00:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                           *                  2019-08-17 20:15:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                           *                  2019-08-17 20:30:00.335 - info: javascript.0 script.js.Wetter: Wetterdaten abrufen.
                           *                  -----------------------------------------------------------------------------------
                           *             Daraus wird dann nur noch eine Logzeile mit letztem Datum/Uhrzeit und hinzufügen von "[3 Einträge]":
                           *                  -----------------------------------------------------------------------------------
                           *                  2019-08-17 20:30:00.335 - info: javascript.0 [3 Einträge] script.js.Wetter: Wetterdaten abrufen.
                           *                  -----------------------------------------------------------------------------------
                           *
                          

                          Das ist jetzt auch pro Eintrag ("id") in den Optionen für LOG_FILTER ein- und ausstellbar, und nicht mehr global.

                          Zum Aktualisieren:
                          1.) Bestehendes Script stoppen
                          2.) Alle Datenpunkte löschen
                          3.) Script durch neues Script vollständig ersetzen, also nicht nur unterhalb der Optionen
                          4.) Alle Optionen neu setzen
                          5.) Starten und freuen :-)

                          Freue mich auf Euer Feedback, ob es auch bei Euch so gut und zuverlässig läuft.

                          Hier zum Script: Version 2.01a

                          Nachtrag:
                          Datenpunkte ".logMostRecent" sind nicht mehr verfügbar, machen auch keinen Sinn, wenn viele Logeinträge gleichzeitig reinfliegen. Stattdessen kann man den Datenpunkt ".log" auf Veränderung überwachen, und dann dessen Inhalt entsprechend auswerten, um etwa Push-Mitteilungen etc. zu veranlassen. Gerne gebe ich Euch hierfür bei Bedarf ein Script-Beispiel.

                          liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          schrieb am zuletzt editiert von
                          #146

                          @Mic

                          auch von mir ein großes danke - da macht die "fehlererzeugung" beim scripten gleich viel mehr spaß

                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            slonnet
                            schrieb am zuletzt editiert von
                            #147

                            @Mic

                            LogFile201a.png

                            Sauber!
                            Die Merge Funktion habe ich noch nicht getestet, aber ich kann bestätigen das keine Log Einträge mehr verschluckt werden!
                            Danke für die schnelle Instantsetzung ;)

                            1 Antwort Letzte Antwort
                            0
                            • NashraN Offline
                              NashraN Offline
                              Nashra
                              Most Active Forum Testing
                              schrieb am zuletzt editiert von
                              #148

                              Moin, jetzt muß ich doch mal nachfragen. Was muß wie eingetragen werden im Script damit
                              das Log vom Slave ausgewertet wird. Bekomme das einfach nicht hin mit dem Pfad und so.

                              Gruß Ralf
                              Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              MicM 1 Antwort Letzte Antwort
                              0
                              • Dr. BakteriusD Dr. Bakterius

                                @Mic Super! Vielen Dank!

                                Mal eine Frage: kann man aus dem Skript nicht einen vollwertigen Adapter machen? Das wäre einfacher zu handhaben. So muss man immer wieder die Einstellungen neu vornehmen. Da muss man Filter neu setzen, benötigte Datenpunkte ein- oder auskommentieren, usw. Wäre schön, wenn das möglich wäre. Oder zumindest die Einstellungen gleich lassen und nur bei Bedarf ergänzen und das hier mitteilen. Aber ein Adapter wäre eindeutig praktischer.

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

                                Vielen Dank für Euer Feedback :-)

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

                                Mal eine Frage: kann man aus dem Skript nicht einen vollwertigen Adapter machen? Das wäre einfacher zu handhaben. So muss man immer wieder die Einstellungen neu vornehmen. Da muss man Filter neu setzen, benötigte Datenpunkte ein- oder auskommentieren, usw. Wäre schön, wenn das möglich wäre. Oder zumindest die Einstellungen gleich lassen und nur bei Bedarf ergänzen und das hier mitteilen. Aber ein Adapter wäre eindeutig praktischer.

                                Stimme Dir absolut zu, dass das in einen Adapter sollte. Mich schreckt noch die Einstellungs-Seite des Adapters ab, das wird sehr aufwendig, um verschiedene Filter einfach erstellen zu lassen. Aber kommt früher oder später.
                                Der Sprung auf die 2.00 hatte viele Änderungen, da blieben auch Änderungen in den Einstellungen leider nicht aus. Aber werde hier zukünftig Änderungen vermeiden, so gut es geht.

                                1 Antwort Letzte Antwort
                                0
                                • NashraN Nashra

                                  Moin, jetzt muß ich doch mal nachfragen. Was muß wie eingetragen werden im Script damit
                                  das Log vom Slave ausgewertet wird. Bekomme das einfach nicht hin mit dem Pfad und so.

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

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

                                  Moin, jetzt muß ich doch mal nachfragen. Was muß wie eingetragen werden im Script damit
                                  das Log vom Slave ausgewertet wird. Bekomme das einfach nicht hin mit dem Pfad und so.

                                  Ok, also mit ioBroker als Slave habe ich noch nie gearbeitet.
                                  Grundsätzlich kann man hier halt den Pfad angeben:

                                  // Pfad zum Log-Verzeichnis auf dem Server.
                                  // Standard-Pfad unter Linux: '/opt/iobroker/log/'. Wenn das bei dir auch so ist, dann einfach belassen.
                                  const LOG_FS_PATH = '/opt/iobroker/log/';
                                  

                                  Was man da angeben muss, um auf eine andere Maschine zuzugreifen, weiß ich leider nicht, dazu reichen meine Linux-Kenntnisse (noch) nicht. Versuche mal, von der Linux-Shell des Masters z.B. mit dem Editor "nano" eine Datei des Slaves zu öffnen. Geht das überhaupt?

                                  NashraN 1 Antwort Letzte Antwort
                                  0
                                  • MicM Mic

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

                                    Moin, jetzt muß ich doch mal nachfragen. Was muß wie eingetragen werden im Script damit
                                    das Log vom Slave ausgewertet wird. Bekomme das einfach nicht hin mit dem Pfad und so.

                                    Ok, also mit ioBroker als Slave habe ich noch nie gearbeitet.
                                    Grundsätzlich kann man hier halt den Pfad angeben:

                                    // Pfad zum Log-Verzeichnis auf dem Server.
                                    // Standard-Pfad unter Linux: '/opt/iobroker/log/'. Wenn das bei dir auch so ist, dann einfach belassen.
                                    const LOG_FS_PATH = '/opt/iobroker/log/';
                                    

                                    Was man da angeben muss, um auf eine andere Maschine zuzugreifen, weiß ich leider nicht, dazu reichen meine Linux-Kenntnisse (noch) nicht. Versuche mal, von der Linux-Shell des Masters z.B. mit dem Editor "nano" eine Datei des Slaves zu öffnen. Geht das überhaupt?

                                    NashraN Offline
                                    NashraN Offline
                                    Nashra
                                    Most Active Forum Testing
                                    schrieb am zuletzt editiert von
                                    #151

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

                                    Was man da angeben muss, um auf eine andere Maschine zuzugreifen, weiß ich leider nicht, dazu reichen meine Linux-Kenntnisse (noch) nicht. Versuche mal, von der Linux-Shell des Masters z.B. mit dem Editor "nano" eine Datei des Slaves zu öffnen. Geht das überhaupt?

                                    Das ist das Problem @Mic , mit Linux kenn ich mich auch nicht aus :white_frowning_face:

                                    Gruß Ralf
                                    Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    liv-in-skyL 1 Antwort Letzte Antwort
                                    0
                                    • NashraN Nashra

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

                                      Was man da angeben muss, um auf eine andere Maschine zuzugreifen, weiß ich leider nicht, dazu reichen meine Linux-Kenntnisse (noch) nicht. Versuche mal, von der Linux-Shell des Masters z.B. mit dem Editor "nano" eine Datei des Slaves zu öffnen. Geht das überhaupt?

                                      Das ist das Problem @Mic , mit Linux kenn ich mich auch nicht aus :white_frowning_face:

                                      liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      schrieb am zuletzt editiert von liv-in-sky
                                      #152

                                      @Nashra

                                      hab keinen slave daher vermutung:

                                      du hast doch eine javascript instanz auf dem slave installiert - und darin müßte dann das script nochmal laufen und dies sollte auf die lokale platte zugreifen ?

                                      lieg ich damit falsch ?

                                      und natürlich müßtest du dann die datenpunkte im script in einen anderen ordner speichern - sonst überschreiben sie sich - es muss das 2te script vollständig im bezug der datenpunkte geändert sein

                                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                      NashraN 1 Antwort Letzte Antwort
                                      0
                                      • D Online
                                        D Online
                                        darkiop
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #153

                                        Das Log des Slaves sollte meines Wissens im Log des Masters enthalten sein.

                                        Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                                        NashraN 1 Antwort Letzte Antwort
                                        0
                                        • D darkiop

                                          Das Log des Slaves sollte meines Wissens im Log des Masters enthalten sein.

                                          NashraN Offline
                                          NashraN Offline
                                          Nashra
                                          Most Active Forum Testing
                                          schrieb am zuletzt editiert von Nashra
                                          #154

                                          @darkiop, der Slave hat ein eigenes Log

                                          Gruß Ralf
                                          Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          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

                                          345

                                          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