Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Journal-Log erstellen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Journal-Log erstellen

Scheduled Pinned Locked Moved Node-Red
62 Posts 5 Posters 4.6k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T tomily

    @liv-in-sky
    Geil, ich danke Dir vielmals. Bitte mache Dir keinen Stress. Die Sache hat keine Hektik. Bin zwar gespannt, aber du musst dich nicht beeilen.

    Habe einen Aktualisieren-Button eingebaut. Dann kann man sich die Infos laden, wenn man es braucht, ohne dass ständig refresehd wird:

    be9a8313-4120-4e23-85d2-20ce9b1d2e49-grafik.png
    c661c645-c221-4ffc-b285-776af82e486c-grafik.png

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    wrote on last edited by
    #33

    @tomily

    ich frage deshalb danach, weil es vielleicht möglich ist, schon im log-vorgng etwas einzubinden, was als zeilentrenner später in nodered erkannt wird und durch </br> getauscht wird

    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 Reply Last reply
    0
    • liv-in-skyL liv-in-sky

      @tomily

      kannst du mir mal bitte den inhalt deines ping files posten - vielleicht findet sich da was zum zeileunterschied - oder wie wird das ersellt - mit welchen befehlen - mit dem iobroker log file test ist das irgenwie schwierig - das mit dem aktualisierungsknopf ist eine gute idee

      T Offline
      T Offline
      tomily
      wrote on last edited by
      #34

      @liv-in-sky
      Bisher gibt es das LOG so noch nicht. Ich werde das durch andere Scripte erstellen und befüllen lassen.
      Somit sind noch alle Wege offen. Das Testlog habe ich mit vi einfach selbst untereinander geschrieben.

      Denkbar und Sinnvoll wäre es, dass ich jede neue Zeile mit Datum, Uhrzeit + ": " Doppelpunkt am Ende beginne. Also z.B.

      08.02.21 - 14:31: Zeile 1
      08.02.21 - 14:31: Zeile 2
      08.02.21 - 14:32: Bla
      08.02.21 - 14:34: Bla bla

      Wäre das zum parsen Sinnvoll?

      liv-in-skyL HomoranH 2 Replies Last reply
      0
      • T tomily

        @liv-in-sky
        Bisher gibt es das LOG so noch nicht. Ich werde das durch andere Scripte erstellen und befüllen lassen.
        Somit sind noch alle Wege offen. Das Testlog habe ich mit vi einfach selbst untereinander geschrieben.

        Denkbar und Sinnvoll wäre es, dass ich jede neue Zeile mit Datum, Uhrzeit + ": " Doppelpunkt am Ende beginne. Also z.B.

        08.02.21 - 14:31: Zeile 1
        08.02.21 - 14:31: Zeile 2
        08.02.21 - 14:32: Bla
        08.02.21 - 14:34: Bla bla

        Wäre das zum parsen Sinnvoll?

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        wrote on last edited by liv-in-sky
        #35

        @tomily ja- da sollte man mit regex was machen können - zur not hilft uns vielleicht der regex meister ( @Homoran )

        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

        HomoranH 1 Reply Last reply
        0
        • liv-in-skyL liv-in-sky

          @tomily ja- da sollte man mit regex was machen können - zur not hilft uns vielleicht der regex meister ( @Homoran )

          HomoranH Do not disturb
          HomoranH Do not disturb
          Homoran
          Global Moderator Administrators
          wrote on last edited by
          #36

          @liv-in-sky sagte in Journal-Log erstellen:

          zur not hilft uns vielleicht der regex meister ( @Homoran )

          und irgendwann bringst du mir noch das parsen in js (Blockly) bei.
          dann kann ich auch mit wget Daten holen

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          liv-in-skyL 1 Reply Last reply
          0
          • T tomily

            @liv-in-sky
            Bisher gibt es das LOG so noch nicht. Ich werde das durch andere Scripte erstellen und befüllen lassen.
            Somit sind noch alle Wege offen. Das Testlog habe ich mit vi einfach selbst untereinander geschrieben.

            Denkbar und Sinnvoll wäre es, dass ich jede neue Zeile mit Datum, Uhrzeit + ": " Doppelpunkt am Ende beginne. Also z.B.

            08.02.21 - 14:31: Zeile 1
            08.02.21 - 14:31: Zeile 2
            08.02.21 - 14:32: Bla
            08.02.21 - 14:34: Bla bla

            Wäre das zum parsen Sinnvoll?

            HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #37

            @tomily sagte in Journal-Log erstellen:

            08.02.21 - 14:31: Zeile 1
            08.02.21 - 14:31: Zeile 2
            08.02.21 - 14:32: Bla
            08.02.21 - 14:34: Bla bla

            Wäre das zum parsen Sinnvoll?

            dann wäre da einfach ein Zeilenende? oder was sehe ich da nicht?
            oder willst du nur den Text und nicht den Timestamp haben?

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            T 1 Reply Last reply
            0
            • HomoranH Homoran

              @tomily sagte in Journal-Log erstellen:

              08.02.21 - 14:31: Zeile 1
              08.02.21 - 14:31: Zeile 2
              08.02.21 - 14:32: Bla
              08.02.21 - 14:34: Bla bla

              Wäre das zum parsen Sinnvoll?

              dann wäre da einfach ein Zeilenende? oder was sehe ich da nicht?
              oder willst du nur den Text und nicht den Timestamp haben?

              T Offline
              T Offline
              tomily
              wrote on last edited by
              #38

              @homoran
              Schön wäre es, wenn einfach exakt der Inhalt der LogDatei im Dashbaord erscheint. Und zwar Zeile für Zeile, statt hintereinander.

              Wenn es zum Formatieren einfacher ist, würde ich das Datum/Uhrzeit zusätzlich in die LogDatei in jede Zeile schreiben lassen, um den Zeilenanfang erkennen zu können.

              HomoranH 1 Reply Last reply
              0
              • T tomily

                @homoran
                Schön wäre es, wenn einfach exakt der Inhalt der LogDatei im Dashbaord erscheint. Und zwar Zeile für Zeile, statt hintereinander.

                Wenn es zum Formatieren einfacher ist, würde ich das Datum/Uhrzeit zusätzlich in die LogDatei in jede Zeile schreiben lassen, um den Zeilenanfang erkennen zu können.

                HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by
                #39

                @tomily
                @liv-in-sky

                Wenn jeder eintrag mit einem Zeilenumbruch endet, geht das zumindest theoretisch einfach
                logdatei.png

                Das RegEx wäre ([^\n]+)
                und dann wieder +das Umbruchzeichen <br> ode /n aneinanderreihen

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                liv-in-skyL 1 Reply Last reply
                0
                • HomoranH Homoran

                  @tomily
                  @liv-in-sky

                  Wenn jeder eintrag mit einem Zeilenumbruch endet, geht das zumindest theoretisch einfach
                  logdatei.png

                  Das RegEx wäre ([^\n]+)
                  und dann wieder +das Umbruchzeichen <br> ode /n aneinanderreihen

                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  wrote on last edited by liv-in-sky
                  #40

                  @homoran

                  @Homoran gibt es dafür eine bessere schreibweise - damit kann ich ein </br> am anfang einfügen und bekomme das im html angezeigt

                  ([0-9][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9] [0-9][0-9]\:[0-9][0-9]\:[0-9][0-9]\.[0-9][0-9][0-9]).*?
                  

                  Image 11.png

                  Image 10.png

                  Image 12.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

                  HomoranH 1 Reply Last reply
                  0
                  • liv-in-skyL liv-in-sky

                    @homoran

                    @Homoran gibt es dafür eine bessere schreibweise - damit kann ich ein </br> am anfang einfügen und bekomme das im html angezeigt

                    ([0-9][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9] [0-9][0-9]\:[0-9][0-9]\:[0-9][0-9]\.[0-9][0-9][0-9]).*?
                    

                    Image 11.png

                    Image 10.png

                    Image 12.png

                    HomoranH Do not disturb
                    HomoranH Do not disturb
                    Homoran
                    Global Moderator Administrators
                    wrote on last edited by
                    #41

                    @liv-in-sky sagte in Journal-Log erstellen:

                    gibt es dafür eine bessere schreibweise

                    hast du mein Regex nicht gesehen?
                    eine Gruppe (), darin beliebig viele alles außer \n = [^\n]+

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    liv-in-skyL 1 Reply Last reply
                    0
                    • HomoranH Homoran

                      @liv-in-sky sagte in Journal-Log erstellen:

                      gibt es dafür eine bessere schreibweise

                      hast du mein Regex nicht gesehen?
                      eine Gruppe (), darin beliebig viele alles außer \n = [^\n]+

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      wrote on last edited by liv-in-sky
                      #42

                      @homoran

                      jetzt schon :-)

                      bin mir nicht sicher, ob es \n enthält - teste ich mal

                      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

                      HomoranH 1 Reply Last reply
                      0
                      • liv-in-skyL liv-in-sky

                        @homoran

                        jetzt schon :-)

                        bin mir nicht sicher, ob es \n enthält - teste ich mal

                        HomoranH Do not disturb
                        HomoranH Do not disturb
                        Homoran
                        Global Moderator Administrators
                        wrote on last edited by Homoran
                        #43

                        @liv-in-sky sagte in Journal-Log erstellen:

                        bin mir nicht sicher, ob es \n enthält

                        hat es - siehe Screenshot

                        wenn nicht, bräuchte ich mal eine echte logdatei von @tomily

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        liv-in-skyL 1 Reply Last reply
                        0
                        • HomoranH Homoran

                          @liv-in-sky sagte in Journal-Log erstellen:

                          bin mir nicht sicher, ob es \n enthält

                          hat es - siehe Screenshot

                          wenn nicht, bräuchte ich mal eine echte logdatei von @tomily

                          liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          wrote on last edited by
                          #44

                          @homoran

                          die haben wir ja noch nicht - muss er erst erstellen oder umbauen - auf jeden fall wissen wir, wie es funktionieren soll

                          ich arbeite ja damit - mit dem logfile von iobroker - das ist aber nur der test - das sind \r und \n drin - linux halt

                          2021-02-08 13:59:54.536  - error: node-red.0 (1794) 8 Feb 13:59:54 - [error] [change:b0f28e3c.41e57] Ungültiges 'from' Merkmal: Invalid regular expression: / [/: Unterminated character class
                          
                          2021-02-08 14:00:12.159  - error: node-red.0 (1794) 8 Feb 14:00:12 - [error] [change:b0f28e3c.41e57] Ungültiges 'from' Merkmal: Invalid regular expression: / [/: Unterminated character class
                          
                          2021-02-08 14:05:02.428  - info: javascript.0 (1123) Stop script script.js.Armin_Schalter.AAAtail
                          2021-02-08 14:05:02.736  - info: javascript.0 (1123) Start javascript script.js.Armin_Schalter.AAAtail
                          
                          2021-02-08 14:05:39.151  - error: node-red.0 (13376) install: [""]
                          2021-02-08 14:05:44.482  - warn: node-red.0 (13376) 8 Feb 14:05:44 - [warn] Projekte inaktiviert: editorTheme.projects.enabled=false
                          

                          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

                          HomoranH 1 Reply Last reply
                          0
                          • liv-in-skyL liv-in-sky

                            @homoran

                            die haben wir ja noch nicht - muss er erst erstellen oder umbauen - auf jeden fall wissen wir, wie es funktionieren soll

                            ich arbeite ja damit - mit dem logfile von iobroker - das ist aber nur der test - das sind \r und \n drin - linux halt

                            2021-02-08 13:59:54.536  - error: node-red.0 (1794) 8 Feb 13:59:54 - [error] [change:b0f28e3c.41e57] Ungültiges 'from' Merkmal: Invalid regular expression: / [/: Unterminated character class
                            
                            2021-02-08 14:00:12.159  - error: node-red.0 (1794) 8 Feb 14:00:12 - [error] [change:b0f28e3c.41e57] Ungültiges 'from' Merkmal: Invalid regular expression: / [/: Unterminated character class
                            
                            2021-02-08 14:05:02.428  - info: javascript.0 (1123) Stop script script.js.Armin_Schalter.AAAtail
                            2021-02-08 14:05:02.736  - info: javascript.0 (1123) Start javascript script.js.Armin_Schalter.AAAtail
                            
                            2021-02-08 14:05:39.151  - error: node-red.0 (13376) install: [""]
                            2021-02-08 14:05:44.482  - warn: node-red.0 (13376) 8 Feb 14:05:44 - [warn] Projekte inaktiviert: editorTheme.projects.enabled=false
                            

                            HomoranH Do not disturb
                            HomoranH Do not disturb
                            Homoran
                            Global Moderator Administrators
                            wrote on last edited by
                            #45

                            @liv-in-sky sagte in Journal-Log erstellen:

                            die haben wir ja noch nicht - muss er erst erstellen oder umbauen

                            @tomily
                            kannst du uns bitte mal eine Datei zur Verfügung stellen, die du auswerten willst

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            liv-in-skyL 1 Reply Last reply
                            0
                            • HomoranH Homoran

                              @liv-in-sky sagte in Journal-Log erstellen:

                              die haben wir ja noch nicht - muss er erst erstellen oder umbauen

                              @tomily
                              kannst du uns bitte mal eine Datei zur Verfügung stellen, die du auswerten willst

                              liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              wrote on last edited by
                              #46

                              @homoran danke dir

                              habe es jetzt für mein beispiel so gelöst

                              (.*?)(?<!\r)\n
                              

                              genug getestet - muss jetzt wieder an anderem script "wurschteln" - das nervt schon seit tagen

                              Image 13.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 Reply Last reply
                              1
                              • HomoranH Homoran

                                @liv-in-sky sagte in Journal-Log erstellen:

                                zur not hilft uns vielleicht der regex meister ( @Homoran )

                                und irgendwann bringst du mir noch das parsen in js (Blockly) bei.
                                dann kann ich auch mit wget Daten holen

                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                wrote on last edited by liv-in-sky
                                #47

                                @homoran sagte in Journal-Log erstellen:

                                und irgendwann bringst du mir noch das parsen in js (Blockly) bei.
                                dann kann ich auch mit wget Daten holen

                                vielleicht magst du dich damit spielen - braucht minimal javascript - kann aber mehrere reg-auflöungen hintereinander machen - du mußt dafür nur die array's richtig (myFilterRegexEvent5,myFilterRegexEvent6) füllen

                                Image 14.png

                                orange: regex ausdruck - was wird gesucht
                                grün: mit was wird es ersetzt

                                da diese variablke ein array ist, kannst du ein komma setzen und in beiden arrays einfach ein zweites regex einsetzen - das wird dann anschliessend ausgeführt

                                ein beispiel aus meinem ical script (zuerst wird nach Biathlon... gesucht und ersetzt (mit Bia) und anschliessend nach SACK und ersetzt (mit Tonne):

                                  let myFilterRegexEvent5=[/Biathlon(: .*)/,/(GELBE)R SACK/];                        // Regex für EventAnzeige: event=event.replace(myFilterRegexEvent,myFilterRegexEvent2)
                                  let myFilterRegexEvent6=["Biat$1","$1 Tonne"];  
                                

                                myFilterRegexEvent5 und myFilterRegexEvent6 müssen immer gleich viele einträge haben - sonst mag das script nix ausfühen

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                 <variables>
                                   <variable id="y-|J0d(aR`$MnV$s%a1l">val0</variable>
                                   <variable id="tHZ5N|7tx.:_t~bL$-X,">result</variable>
                                 </variables>
                                 <block type="exec" id="pVw*=SO,Qv)T=Z3WsR+o" x="162" y="212">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                   <field name="WITH_STATEMENT">TRUE</field>
                                   <field name="LOG"></field>
                                   <value name="COMMAND">
                                     <shadow type="text" id="~(8H1A)J70YzQZ)mS1VL">
                                       <field name="TEXT">tail -n 10 /opt/iobroker/log/iobroker.current.log</field>
                                     </shadow>
                                   </value>
                                   <statement name="STATEMENT">
                                     <block type="debug" id="tEH3%[uQpaLwhAr(pux6">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="L155Yy0phV@yz(uu84WI">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="variables_get" id="iC=px]qekkTJ;rBvty~e">
                                           <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="variables_set" id="%eq_T!.3]_F()B#nlEqO">
                                           <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                           <value name="VALUE">
                                             <block type="procedures_callcustomreturn" id="@klX@R2]ZG)nM1JHh6|Y">
                                               <mutation name="regex-schleife">
                                                 <arg name="val0"></arg>
                                               </mutation>
                                               <value name="ARG0">
                                                 <block type="variables_get" id="gI3(os?-yIJlXxVr-#4H">
                                                   <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="debug" id="|dD!fZ(Zm*(9!Uo]QigF">
                                               <field name="Severity">log</field>
                                               <value name="TEXT">
                                                 <shadow type="text">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="variables_get" id="M@Lxxz.*YLgf]KOaOdE9">
                                                   <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="control" id="v(kx8Kic0u3Ng#yXxQ2b">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">0_userdata.0.TestTail</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="variables_get" id="#K@),KPbR8T4#?m-^O1(">
                                                       <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                                 <block type="procedures_defcustomreturn" id="p~-buWNdttPkl!wwvsKR" x="663" y="362">
                                   <mutation statements="false">
                                     <arg name="val0" varid="y-|J0d(aR`$MnV$s%a1l"></arg>
                                   </mutation>
                                   <field name="NAME">regex-schleife</field>
                                   <field name="SCRIPT">ICBsZXQgbXlGaWx0ZXJSZWdleEV2ZW50NT1bLyhbMC05XVswLTldWzAtOV1bMC05XVwtWzAtOV1bMC05XVwtWzAtOV1bMC05XSBbMC05XVswLTldXDpbMC05XVswLTldXDpbMC05XVswLTldXC5bMC05XVswLTldWzAtOV0pLio/L2dtXTsgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWdleCBmw7xyIEV2ZW50QW56ZWlnZTogZXZlbnQ9ZXZlbnQucmVwbGFjZShteUZpbHRlclJlZ2V4RXZlbnQsbXlGaWx0ZXJSZWdleEV2ZW50MikNCiAgbGV0IG15RmlsdGVyUmVnZXhFdmVudDY9WyI8L2JyPiQxIl07ICAgICAgIA0KDQoNCiAgaWYgKG15RmlsdGVyUmVnZXhFdmVudDUubGVuZ3RoPT1teUZpbHRlclJlZ2V4RXZlbnQ2Lmxlbmd0aCl7DQogICAgICAgIGZvcihsZXQgej0wO3o8bXlGaWx0ZXJSZWdleEV2ZW50NS5sZW5ndGg7eisrKXt2YWwwPXZhbDAucmVwbGFjZShteUZpbHRlclJlZ2V4RXZlbnQ1W3pdLG15RmlsdGVyUmVnZXhFdmVudDZbel0pfX0NCg0KcmV0dXJuIHZhbDA7</field>
                                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                 </block>
                                </xml>
                                

                                Image 15.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

                                HomoranH 2 Replies Last reply
                                1
                                • liv-in-skyL liv-in-sky

                                  @homoran sagte in Journal-Log erstellen:

                                  und irgendwann bringst du mir noch das parsen in js (Blockly) bei.
                                  dann kann ich auch mit wget Daten holen

                                  vielleicht magst du dich damit spielen - braucht minimal javascript - kann aber mehrere reg-auflöungen hintereinander machen - du mußt dafür nur die array's richtig (myFilterRegexEvent5,myFilterRegexEvent6) füllen

                                  Image 14.png

                                  orange: regex ausdruck - was wird gesucht
                                  grün: mit was wird es ersetzt

                                  da diese variablke ein array ist, kannst du ein komma setzen und in beiden arrays einfach ein zweites regex einsetzen - das wird dann anschliessend ausgeführt

                                  ein beispiel aus meinem ical script (zuerst wird nach Biathlon... gesucht und ersetzt (mit Bia) und anschliessend nach SACK und ersetzt (mit Tonne):

                                    let myFilterRegexEvent5=[/Biathlon(: .*)/,/(GELBE)R SACK/];                        // Regex für EventAnzeige: event=event.replace(myFilterRegexEvent,myFilterRegexEvent2)
                                    let myFilterRegexEvent6=["Biat$1","$1 Tonne"];  
                                  

                                  myFilterRegexEvent5 und myFilterRegexEvent6 müssen immer gleich viele einträge haben - sonst mag das script nix ausfühen

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                   <variables>
                                     <variable id="y-|J0d(aR`$MnV$s%a1l">val0</variable>
                                     <variable id="tHZ5N|7tx.:_t~bL$-X,">result</variable>
                                   </variables>
                                   <block type="exec" id="pVw*=SO,Qv)T=Z3WsR+o" x="162" y="212">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                     <field name="WITH_STATEMENT">TRUE</field>
                                     <field name="LOG"></field>
                                     <value name="COMMAND">
                                       <shadow type="text" id="~(8H1A)J70YzQZ)mS1VL">
                                         <field name="TEXT">tail -n 10 /opt/iobroker/log/iobroker.current.log</field>
                                       </shadow>
                                     </value>
                                     <statement name="STATEMENT">
                                       <block type="debug" id="tEH3%[uQpaLwhAr(pux6">
                                         <field name="Severity">log</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="L155Yy0phV@yz(uu84WI">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="variables_get" id="iC=px]qekkTJ;rBvty~e">
                                             <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="%eq_T!.3]_F()B#nlEqO">
                                             <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                             <value name="VALUE">
                                               <block type="procedures_callcustomreturn" id="@klX@R2]ZG)nM1JHh6|Y">
                                                 <mutation name="regex-schleife">
                                                   <arg name="val0"></arg>
                                                 </mutation>
                                                 <value name="ARG0">
                                                   <block type="variables_get" id="gI3(os?-yIJlXxVr-#4H">
                                                     <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="debug" id="|dD!fZ(Zm*(9!Uo]QigF">
                                                 <field name="Severity">log</field>
                                                 <value name="TEXT">
                                                   <shadow type="text">
                                                     <field name="TEXT">test</field>
                                                   </shadow>
                                                   <block type="variables_get" id="M@Lxxz.*YLgf]KOaOdE9">
                                                     <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="control" id="v(kx8Kic0u3Ng#yXxQ2b">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">0_userdata.0.TestTail</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="variables_get" id="#K@),KPbR8T4#?m-^O1(">
                                                         <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                   <block type="procedures_defcustomreturn" id="p~-buWNdttPkl!wwvsKR" x="663" y="362">
                                     <mutation statements="false">
                                       <arg name="val0" varid="y-|J0d(aR`$MnV$s%a1l"></arg>
                                     </mutation>
                                     <field name="NAME">regex-schleife</field>
                                     <field name="SCRIPT">ICBsZXQgbXlGaWx0ZXJSZWdleEV2ZW50NT1bLyhbMC05XVswLTldWzAtOV1bMC05XVwtWzAtOV1bMC05XVwtWzAtOV1bMC05XSBbMC05XVswLTldXDpbMC05XVswLTldXDpbMC05XVswLTldXC5bMC05XVswLTldWzAtOV0pLio/L2dtXTsgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWdleCBmw7xyIEV2ZW50QW56ZWlnZTogZXZlbnQ9ZXZlbnQucmVwbGFjZShteUZpbHRlclJlZ2V4RXZlbnQsbXlGaWx0ZXJSZWdleEV2ZW50MikNCiAgbGV0IG15RmlsdGVyUmVnZXhFdmVudDY9WyI8L2JyPiQxIl07ICAgICAgIA0KDQoNCiAgaWYgKG15RmlsdGVyUmVnZXhFdmVudDUubGVuZ3RoPT1teUZpbHRlclJlZ2V4RXZlbnQ2Lmxlbmd0aCl7DQogICAgICAgIGZvcihsZXQgej0wO3o8bXlGaWx0ZXJSZWdleEV2ZW50NS5sZW5ndGg7eisrKXt2YWwwPXZhbDAucmVwbGFjZShteUZpbHRlclJlZ2V4RXZlbnQ1W3pdLG15RmlsdGVyUmVnZXhFdmVudDZbel0pfX0NCg0KcmV0dXJuIHZhbDA7</field>
                                     <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                   </block>
                                  </xml>
                                  

                                  Image 15.png

                                  HomoranH Do not disturb
                                  HomoranH Do not disturb
                                  Homoran
                                  Global Moderator Administrators
                                  wrote on last edited by
                                  #48

                                  @liv-in-sky DANKE!
                                  Das sieht schaffbar aus - muss ich mal ventilieren :grin:

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  1 Reply Last reply
                                  0
                                  • liv-in-skyL liv-in-sky

                                    @homoran sagte in Journal-Log erstellen:

                                    und irgendwann bringst du mir noch das parsen in js (Blockly) bei.
                                    dann kann ich auch mit wget Daten holen

                                    vielleicht magst du dich damit spielen - braucht minimal javascript - kann aber mehrere reg-auflöungen hintereinander machen - du mußt dafür nur die array's richtig (myFilterRegexEvent5,myFilterRegexEvent6) füllen

                                    Image 14.png

                                    orange: regex ausdruck - was wird gesucht
                                    grün: mit was wird es ersetzt

                                    da diese variablke ein array ist, kannst du ein komma setzen und in beiden arrays einfach ein zweites regex einsetzen - das wird dann anschliessend ausgeführt

                                    ein beispiel aus meinem ical script (zuerst wird nach Biathlon... gesucht und ersetzt (mit Bia) und anschliessend nach SACK und ersetzt (mit Tonne):

                                      let myFilterRegexEvent5=[/Biathlon(: .*)/,/(GELBE)R SACK/];                        // Regex für EventAnzeige: event=event.replace(myFilterRegexEvent,myFilterRegexEvent2)
                                      let myFilterRegexEvent6=["Biat$1","$1 Tonne"];  
                                    

                                    myFilterRegexEvent5 und myFilterRegexEvent6 müssen immer gleich viele einträge haben - sonst mag das script nix ausfühen

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                     <variables>
                                       <variable id="y-|J0d(aR`$MnV$s%a1l">val0</variable>
                                       <variable id="tHZ5N|7tx.:_t~bL$-X,">result</variable>
                                     </variables>
                                     <block type="exec" id="pVw*=SO,Qv)T=Z3WsR+o" x="162" y="212">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                       <field name="WITH_STATEMENT">TRUE</field>
                                       <field name="LOG"></field>
                                       <value name="COMMAND">
                                         <shadow type="text" id="~(8H1A)J70YzQZ)mS1VL">
                                           <field name="TEXT">tail -n 10 /opt/iobroker/log/iobroker.current.log</field>
                                         </shadow>
                                       </value>
                                       <statement name="STATEMENT">
                                         <block type="debug" id="tEH3%[uQpaLwhAr(pux6">
                                           <field name="Severity">log</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="L155Yy0phV@yz(uu84WI">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="variables_get" id="iC=px]qekkTJ;rBvty~e">
                                               <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="%eq_T!.3]_F()B#nlEqO">
                                               <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                               <value name="VALUE">
                                                 <block type="procedures_callcustomreturn" id="@klX@R2]ZG)nM1JHh6|Y">
                                                   <mutation name="regex-schleife">
                                                     <arg name="val0"></arg>
                                                   </mutation>
                                                   <value name="ARG0">
                                                     <block type="variables_get" id="gI3(os?-yIJlXxVr-#4H">
                                                       <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="debug" id="|dD!fZ(Zm*(9!Uo]QigF">
                                                   <field name="Severity">log</field>
                                                   <value name="TEXT">
                                                     <shadow type="text">
                                                       <field name="TEXT">test</field>
                                                     </shadow>
                                                     <block type="variables_get" id="M@Lxxz.*YLgf]KOaOdE9">
                                                       <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="control" id="v(kx8Kic0u3Ng#yXxQ2b">
                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                       <field name="OID">0_userdata.0.TestTail</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="variables_get" id="#K@),KPbR8T4#?m-^O1(">
                                                           <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                     <block type="procedures_defcustomreturn" id="p~-buWNdttPkl!wwvsKR" x="663" y="362">
                                       <mutation statements="false">
                                         <arg name="val0" varid="y-|J0d(aR`$MnV$s%a1l"></arg>
                                       </mutation>
                                       <field name="NAME">regex-schleife</field>
                                       <field name="SCRIPT">ICBsZXQgbXlGaWx0ZXJSZWdleEV2ZW50NT1bLyhbMC05XVswLTldWzAtOV1bMC05XVwtWzAtOV1bMC05XVwtWzAtOV1bMC05XSBbMC05XVswLTldXDpbMC05XVswLTldXDpbMC05XVswLTldXC5bMC05XVswLTldWzAtOV0pLio/L2dtXTsgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWdleCBmw7xyIEV2ZW50QW56ZWlnZTogZXZlbnQ9ZXZlbnQucmVwbGFjZShteUZpbHRlclJlZ2V4RXZlbnQsbXlGaWx0ZXJSZWdleEV2ZW50MikNCiAgbGV0IG15RmlsdGVyUmVnZXhFdmVudDY9WyI8L2JyPiQxIl07ICAgICAgIA0KDQoNCiAgaWYgKG15RmlsdGVyUmVnZXhFdmVudDUubGVuZ3RoPT1teUZpbHRlclJlZ2V4RXZlbnQ2Lmxlbmd0aCl7DQogICAgICAgIGZvcihsZXQgej0wO3o8bXlGaWx0ZXJSZWdleEV2ZW50NS5sZW5ndGg7eisrKXt2YWwwPXZhbDAucmVwbGFjZShteUZpbHRlclJlZ2V4RXZlbnQ1W3pdLG15RmlsdGVyUmVnZXhFdmVudDZbel0pfX0NCg0KcmV0dXJuIHZhbDA7</field>
                                       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                     </block>
                                    </xml>
                                    

                                    Image 15.png

                                    HomoranH Do not disturb
                                    HomoranH Do not disturb
                                    Homoran
                                    Global Moderator Administrators
                                    wrote on last edited by
                                    #49

                                    @liv-in-sky Aber wenn ich gar nichts ersetzen (replace) will, sondern nur den Wert anzeigen/in eine Variable schreiben will??

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    liv-in-skyL 1 Reply Last reply
                                    0
                                    • HomoranH Homoran

                                      @liv-in-sky Aber wenn ich gar nichts ersetzen (replace) will, sondern nur den Wert anzeigen/in eine Variable schreiben will??

                                      liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      wrote on last edited by liv-in-sky
                                      #50

                                      @homoran

                                      mit klammer suchen und ersetzen mit $1 - müßte funktionieren

                                      oder check ich was nicht

                                      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

                                      HomoranH 1 Reply Last reply
                                      0
                                      • liv-in-skyL liv-in-sky

                                        @homoran

                                        mit klammer suchen und ersetzen mit $1 - müßte funktionieren

                                        oder check ich was nicht

                                        HomoranH Do not disturb
                                        HomoranH Do not disturb
                                        Homoran
                                        Global Moderator Administrators
                                        wrote on last edited by
                                        #51

                                        @liv-in-sky sagte in Journal-Log erstellen:

                                        oder check ich was nicht

                                        du schon :joy:

                                        ich jetzt auch

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        1 Reply Last reply
                                        0
                                        • T tomily

                                          Hallo zusammen,

                                          ich oute mich mal wieder als NodeRed-Beginner und hoffe, dass meine Anfrage korrekt plaziert ist :-)
                                          Ich nutze Node-Red samt Dashboard um einige Funktionen u.A. mein Monitoring abzudecken. Das funktioniert tadellos.

                                          Mein Ziel ist es, im Dashboard eine Art "Journal" bzw. "LOG/History" zu erstellen. Ich möchte mir die letzten Schaltvorgänge und aktivitäten aus anderen Logs anzeigen lassen.

                                          Es würde mir reichen, wenn ich alles im Linux in eine Log-Datei schreibe und mir im Dashboard die letzten 50 Zeilen Dieser Datei anzeigen lasse.

                                          Mit dem Tail-Node funktioniet das an sich, alledings immer nur mit der letzten Zeile:
                                          9512f50a-dd9a-4a48-ab99-15807ddd12e1-grafik.png

                                          c94711d4-d1e8-4bd2-9efd-6da0ee456533-grafik.png

                                          Hat jemand eine Idee, wie ich entweder einen tail - 50 /pfad-zur.log ausgeben kann. Oder gibt es bessere Ansätze, um eine neue Textzeile einem Bestehenden Text-Node hinzuzufügen?

                                          Freue mich auf eure Rückmeldungen.

                                          Grüße
                                          Tomily

                                          mickymM Online
                                          mickymM Online
                                          mickym
                                          Most Active
                                          wrote on last edited by mickym
                                          #52

                                          @tomilyIch misch mich mal wieder ein.

                                          Um eine eigene Logdatei zu schreiben bzw. anzuzeigen willst musst Du Dir ja ne Struktur aufbauen. Ich empfehle Dir ein Array mit Objekten gleichen Aufbaus - wie Datum, Ereignis usw.

                                          Eingabe:

                                          Die Log Dateien kannst Du mit Standard Nodes (wie file in) einlesen. Damit bekommst Du schon mal für jede Zeile eine Nachricht.
                                          Die Aufteilung einer Zeile kannst Du dann wie @Homoran schreibt mit regulären Ausdrücken machen.

                                          Das geht auch mit regulären Ausdrücken in NodeRed ohne irgendwelche Funktionen nutzen zu müssen. Du kannst auch mit Gruppen ($1 und $2 ...) arbeiten und diese dann weiterverarbeiten. Damit kannst Du direkt neue Nachrichten erzeugen so habe ich das hier gemacht:

                                          Damit kannst Du dann zum Beispiel schon mal ausfiltern welche Zeit Du haben willst.

                                          Wie die Mitstreiter habe ich als Beispiel auch mal die iobroker log genommen und mit der file in eingelesen.

                                          somit bekommst Du für jede Zeile eine Nachricht - die leeren Zeilen wurden herausgefiltert.

                                          Wie Du siehst funktioniert das soweit ganz gut.

                                          ebd0590e-21f8-4ad0-aea7-e00bb0570452-image.png

                                          Zur Analyse der Logdateien bietet sich die Gruppenfunktion mit regulären Ausdrücken an, die NodeRed mit Hausmitteln bereits unterstützt.

                                          Das siehst Du an diesem Change Node:

                                          Ich sichere hier die Zeile / payload in 2 Zwischenobjekte und analysiere das Datum und das Ereignis aus und speichere es in einem eigenen Objekt, damit ich die payload dann löschen kann und als Objekt neu aufbauen kann:

                                          c039d155-d574-4427-93d7-ee1a45cb399e-image.png

                                          Als Ergebnis erhälst Du dann ein wundeschönes Payload Objekt mit den Eigenschaften Date und Event die Du dann im weiteren Verlauf analysieren kannst.

                                          7a13d8ed-edd7-4cfc-a9ff-6c5b53e7bc74-image.png

                                          Nun empfehle ich Dir solche Objekte in einem Array mit der gleichen Struktur als Flow Variable anzulegen.

                                          und verarbeiten ... (Teil 2 folgt!)

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          mickymM 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          659

                                          Online

                                          32.7k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe