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

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
617 Beiträge 60 Kommentatoren 154.0k 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.
  • liv-in-skyL liv-in-sky

    @Mic

    habe es zweimal getestet (2*datenpunkte gelöscht und restart script)

    selbes verhalten - im hauptlog werden immer 2 zusammengefaßte nodered einträge angezeigt und verschwinden wieder (wie im video)
    im selbstdef. nodered werden die nachrichten nicht zusammengefaßt - aber mitgeschrieben

    habe mal das selbstdef. nodered auskommentiert - selber fehler

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

    @liv-in-sky
    sieht komisch aus …..da verschwindet noch eine Meldung , muss man schon genau hinsehen im Video !

    Als würden nur max. 3 Zeilen funktionieren in der Tabelle , ab der vierten springt er , oder täuscht das !

    00.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
      #132

      @liv-in-sky
      Echt seltsam. Kann es leider nicht reproduzieren. Werde ich mir noch mal genauer ansehen.
      Ich gehe davon aus, das passiert nicht, wenn Du MERGE_LOGLINES_ACTIVE auf false setzt, richtig?

      liv-in-skyL 2 Antworten Letzte Antwort
      0
      • MicM Mic

        @liv-in-sky
        Echt seltsam. Kann es leider nicht reproduzieren. Werde ich mir noch mal genauer ansehen.
        Ich gehe davon aus, das passiert nicht, wenn Du MERGE_LOGLINES_ACTIVE auf false setzt, richtig?

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

        @Mic genau - nur mit merge true

        ich installiere nochmal ganz neu - datenpunkte löschen und das script nochmal reinkopieren - um auf nummer sicher zu sein - geb dann bescheid

        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
        1
        • MicM Mic

          @liv-in-sky
          Echt seltsam. Kann es leider nicht reproduzieren. Werde ich mir noch mal genauer ansehen.
          Ich gehe davon aus, das passiert nicht, wenn Du MERGE_LOGLINES_ACTIVE auf false setzt, richtig?

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

          @Mic

          also- nochmal alles neu gemacht - datenpunkte gelöscht - script vollständig reinkopiert und keine änderungen gemacht

          selber fehler
          log.gif

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          839

                                          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