Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Journal-Log erstellen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Journal-Log erstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @liv-in-sky last edited by

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

      @tomily

      weißt du zufällig, ob das dashboard normalen text oder html formatierten text braucht

      nimm doch einmal einfach <br> und beim zweiten \n

      T 1 Reply Last reply Reply Quote 0
      • T
        tomily @Homoran last edited by

        @homoran
        Müsste beides gehen. Wenn man den Text-Node verwendet ist es normaler Text. Wenn man das "Template-Node" verwendet müsste es meiens Wissens nach HTML sein.

        Sieht aktuell beides gleich aus:

        7d32c476-c094-410d-be00-29e1681bef06-grafik.png

        70b3fb8e-36c1-413f-a791-1fb21e8a1b39-grafik.png

        liv-in-sky 1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @tomily last edited by

          @tomily bin noch auf ideen suche - der tail befehl gibt das ohne richtiges kennzeichen aus, was eine neue zeile ist. es sind auch "seltsame" escape zeichen im text - da habe ich mit regex ein problem

          ich such noch ein wenig, ob ich etwas finde, womit ich den text-payload richtig zerlegen kann

          T 1 Reply Last reply Reply Quote 0
          • T
            tomily @liv-in-sky last edited by

            @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-sky 2 Replies Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @tomily last edited by

              @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 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @tomily last edited by

                @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

                1 Reply Last reply Reply Quote 0
                • T
                  tomily @liv-in-sky last edited by

                  @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-sky Homoran 2 Replies Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @tomily last edited by liv-in-sky

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

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @liv-in-sky last edited by

                      @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-sky 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @tomily last edited by

                        @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 1 Reply Last reply Reply Quote 0
                        • T
                          tomily @Homoran last edited by

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

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @tomily last edited by

                            @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-sky 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @Homoran last edited by 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

                              Homoran 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @liv-in-sky last edited by

                                @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-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @Homoran last edited by liv-in-sky

                                  @homoran

                                  jetzt schon 🙂

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

                                  Homoran 1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @liv-in-sky last edited by 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-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Homoran last edited by

                                      @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
                                      

                                      Homoran 1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @liv-in-sky last edited by

                                        @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-sky 1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @Homoran last edited by

                                          @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

                                          1 Reply Last reply Reply Quote 1
                                          • liv-in-sky
                                            liv-in-sky @Homoran last edited by 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

                                            Homoran 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            926
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            62
                                            2905
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo