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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Journal-Log erstellen

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

      @tomily

      sorry- ich bin mit nodered nicht so "befreundet" - die tail node scheint das nicht zu können - ich habe dir einen linuxbefehl darstellen woillen

      habe versucht mit dem exec -node in nodered was zu bekommen - check ich leider nicht wirklich

      aber wir sind ja in iobroker 🙂 daher ein leines blockly für den befehl - du musst natürlich dein file wieder eingeben - das sschreibt einen datenpunkt und diesen kannst du in nodered nutzen

      Image 1.png

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <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 50 /opt/iobroker/log/iobroker.current.log</field>
           </shadow>
         </value>
         <statement name="STATEMENT">
           <block type="debug" id="tEH3%[uQpaLwhAr(pux6" disabled="true">
             <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="control" id="yOO(SRi+-3+d+!f|U4@w">
                 <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="gI3(os?-yIJlXxVr-#4H">
                     <field name="VAR" id="tHZ5N|7tx.:_t~bL$-X,">result</field>
                   </block>
                 </value>
               </block>
             </next>
           </block>
         </statement>
       </block>
      </xml>
      

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

        @liv-in-sky
        Danke Dir. Das ist allerdings nicht, das was ich suche 🙂

        @wendy2702
        Weder noch:

        Ich erstelle mir in anderen Scripten eine eigene LOG-Datei. Beispiel:
        /var/log/ping.log

        Im NodeRed-Dashboard möchte ich nun die letzten N-Zeilen der Datei/ var/log/ping.log anzeigen lassen.

        👼

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

          @tomily

          Dann ist das der Befehl:

           tail -n 50 /var/log/ping.log
          

          Wie man das allerdings in NodeRed bekommt kann ich dir auch nicht sagen.

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

            @wendy2702
            Einen tail auf eine Datei unter Linux machen ist kein Problem. Die Frage war ja, wie ich das Ergebnis ins Node-Red Dashboard bekomme.

            Danke trotzdem. Vielleicht hat ja noch jemand ne Idee.

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

              @tomily sagte in Journal-Log erstellen:

              inen tail auf eine Datei unter Linux machen ist kein Problem.

              Hab ewig nicht mehr mit node-red gearbeitet. Aber dafür ist doch der function-node, oder?

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

                @homoran
                Wieso antwortet Ihr dann auf eine NodeRed-Frage in der Node-Red Kategorie? 😬 😀

                Habe es wie in meinem ersten Screenshot per tail-Node und auch per exec-node nicht hinbekommen.
                Aus diesem Grund habe ich mich an euch gemeldet.

                Vielleicht findet sich ja bei Gelegenheit noch jemand, der das in NodeRed abbilden kann.

                Danke euch trotzdem!

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

                  @tomily sagte in Journal-Log erstellen:

                  Wieso antwortet Ihr dann auf eine NodeRed-Frage in der Node-Red Kategorie?

                  weil du auf dem Handy die Kategorie nicht siehst!

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

                    @tomily

                    hilft dir das vielleicht weiter

                    Image 2.png

                    [
                       {
                           "id": "a6b50a83.f2ab48",
                           "type": "exec",
                           "z": "884caa1c.db7b58",
                           "command": "tail",
                           "addpay": false,
                           "append": "-n 50 /opt/iobroker//log/iobroker.current.log ",
                           "useSpawn": "false",
                           "timer": "",
                           "oldrc": false,
                           "name": "",
                           "x": 380,
                           "y": 680,
                           "wires": [
                               [
                                   "75924643.a244f8"
                               ],
                               [],
                               []
                           ]
                       },
                       {
                           "id": "bb257b64.8d68e8",
                           "type": "debug",
                           "z": "884caa1c.db7b58",
                           "name": "",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "true",
                           "targetType": "full",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 910,
                           "y": 680,
                           "wires": []
                       },
                       {
                           "id": "a22e6839.89fb98",
                           "type": "inject",
                           "z": "884caa1c.db7b58",
                           "name": "",
                           "props": [
                               {
                                   "p": "payload"
                               },
                               {
                                   "p": "topic",
                                   "vt": "str"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "",
                           "payloadType": "date",
                           "x": 190,
                           "y": 680,
                           "wires": [
                               [
                                   "a6b50a83.f2ab48"
                               ]
                           ]
                       },
                       {
                           "id": "75924643.a244f8",
                           "type": "function",
                           "z": "884caa1c.db7b58",
                           "name": "",
                           "func": "var b=Buffer.from(msg.payload);\nvar s=b.toString();\nvar out=s;\nmsg.payload= out;\nreturn msg;\nreturn msg",
                           "outputs": 1,
                           "noerr": 0,
                           "initialize": "",
                           "finalize": "",
                           "x": 630,
                           "y": 680,
                           "wires": [
                               [
                                   "bb257b64.8d68e8"
                               ]
                           ]
                       }
                    ]
                    

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

                      @tomily sagte in Journal-Log erstellen:

                      @wendy2702
                      Einen tail auf eine Datei unter Linux machen ist kein Problem.

                      Sicher ?

                      @tomily sagte in Journal-Log erstellen:

                      tail - 50 /pfad-zur.log

                      @tomily sagte in Journal-Log erstellen:

                      tail -n 50 /var/log/ping.log//log/iobroker.current.log ?

                      @tomily sagte in Journal-Log erstellen:

                      @homoran
                      Wieso antwortet Ihr dann auf eine NodeRed-Frage in der Node-Red Kategorie?

                      Sorry, kommt nicht mehr vor 😁

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

                        @liv-in-sky
                        Danke. Das hilft schonmal, weil ich gesehen habe, dass ich den EXEC-Node in meinem Beispiel falsch konfiguriert habe.
                        Leider funktioniert es noch nicht ganz.

                        Hab im Tail mal einen Pfad zu einer Test-Logdatei angegeben und im Function-Node eine doppelte Zeile entfernt. Da kam bei mir ein Fehler. Hast du Lust nochmal drüber zu schauen?

                        🙂

                        Hier der minimals abgeänderte Stand:

                        [
                            {
                                "id": "37365980.457a5e",
                                "type": "tab",
                                "label": "TEST",
                                "disabled": false,
                                "info": ""
                            },
                            {
                                "id": "69747f35.56185",
                                "type": "debug",
                                "z": "37365980.457a5e",
                                "name": "",
                                "active": true,
                                "tosidebar": true,
                                "console": false,
                                "tostatus": false,
                                "complete": "false",
                                "statusVal": "",
                                "statusType": "auto",
                                "x": 770,
                                "y": 80,
                                "wires": []
                            },
                            {
                                "id": "761ec9ef.a184b8",
                                "type": "exec",
                                "z": "37365980.457a5e",
                                "command": "tail",
                                "addpay": true,
                                "append": "-n 50 /opt/iobroker/log/iobroker.2021-02-08.log",
                                "useSpawn": "false",
                                "timer": "",
                                "oldrc": false,
                                "name": "",
                                "x": 290,
                                "y": 80,
                                "wires": [
                                    [
                                        "e5eb10bd.53bc78"
                                    ],
                                    [],
                                    []
                                ]
                            },
                            {
                                "id": "649f8f7b.18614",
                                "type": "inject",
                                "z": "37365980.457a5e",
                                "name": "",
                                "props": [
                                    {
                                        "p": "payload"
                                    },
                                    {
                                        "p": "topic",
                                        "vt": "str"
                                    }
                                ],
                                "repeat": "",
                                "crontab": "",
                                "once": false,
                                "onceDelay": 0.1,
                                "topic": "",
                                "payload": "",
                                "payloadType": "date",
                                "x": 100,
                                "y": 80,
                                "wires": [
                                    [
                                        "761ec9ef.a184b8"
                                    ]
                                ]
                            },
                            {
                                "id": "e5eb10bd.53bc78",
                                "type": "function",
                                "z": "37365980.457a5e",
                                "name": "",
                                "func": "var b=Buffer.from(msg.payload);\nvar s=b.toString();\nvar out=s;\nmsg.payload= out;\nreturn msg;",
                                "outputs": 1,
                                "noerr": 0,
                                "initialize": "",
                                "finalize": "",
                                "x": 540,
                                "y": 80,
                                "wires": [
                                    [
                                        "69747f35.56185"
                                    ]
                                ]
                            }
                        ]
                        
                        liv-in-sky 2 Replies Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @tomily last edited by

                          @tomily

                          der fehler sagt mit im moment nix - aber da ja eine ausgabe kommt, liegt es vielleicht am inject-node

                          Image 5.png

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

                            @tomily liegt daran:

                            Image 6.png

                            damit kann man einen befehl mitgeben, was bei uns ja nicht nötig ist - da inject nur timestamp

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

                              @liv-in-sky
                              Danke. Ich denke wir sind der Sache auf der Spur 🙂

                              Allerdings ist es wie verhext, da ich in der Debug-Anzeige gar keine Ausgabe bekomme.
                              Wenn ich gleichzeitig per putty einen tail auf die selbe datei mache, sehe ich aber, dass dort Einträge kommen.

                              Mache ich Grundlegend etwas falsch?
                              Kannst du mir von deinem jetzigen Flow, nochmal einen export machen?

                              2827c4d9-2e2a-42b8-baf4-6cec5913a7cb-grafik.png

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

                                @tomily

                                dein geposteter flow war schon richtig - bei diesem bild im letzten post bist du im 2ten ausgang dran - da kommt nichts, wenn kein error da ist - das war nur zur überprüfung wo der fehler herkam

                                du musst natürlich wieder am obersten punkt connectet sein und durch die function gehen - so wie du es gepostet hast - nur mit dieser einstellung bzw darf das nicht angeklickt sein - dann kommt auch kein error und dein flow funktioniert
                                Image 6.png

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

                                  @liv-in-sky

                                  Danke! Langsam fange ich es an zu kapieren. Vorallem wie der EXEC-Node funktioniert.
                                  Leider bekomme ich egal wie ich es drehe und wende keine Ausgabe mehr im Debug Fenster. Irgendwo muss da noch ein Unterschied sein 🤦‍♂️

                                  Ich werde noch weiter Testen und schauen, woran das liegen könnte.

                                  An für sich behauptest du, dass der Tail befehl bei einer Änderung der Logdatei ausgeführt wird und mir diese mehrzeilige Ausagbe dann übermittelt? Habe ich das richtig verstanden?

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

                                    @tomily

                                    ja - funktioniert bei mir

                                    [
                                       {
                                           "id": "a6b50a83.f2ab48",
                                           "type": "exec",
                                           "z": "884caa1c.db7b58",
                                           "command": "tail",
                                           "addpay": false,
                                           "append": "-n 50 /opt/iobroker//log/iobroker.current.log ",
                                           "useSpawn": "false",
                                           "timer": "",
                                           "oldrc": false,
                                           "name": "",
                                           "x": 1190,
                                           "y": 420,
                                           "wires": [
                                               [
                                                   "75924643.a244f8"
                                               ],
                                               [],
                                               []
                                           ]
                                       },
                                       {
                                           "id": "bb257b64.8d68e8",
                                           "type": "debug",
                                           "z": "884caa1c.db7b58",
                                           "name": "",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 1470,
                                           "y": 400,
                                           "wires": []
                                       },
                                       {
                                           "id": "a22e6839.89fb98",
                                           "type": "inject",
                                           "z": "884caa1c.db7b58",
                                           "name": "",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "topic",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "payload": "",
                                           "payloadType": "date",
                                           "x": 1040,
                                           "y": 420,
                                           "wires": [
                                               [
                                                   "a6b50a83.f2ab48"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "75924643.a244f8",
                                           "type": "function",
                                           "z": "884caa1c.db7b58",
                                           "name": "",
                                           "func": "var b=Buffer.from(msg.payload);\nvar s=b.toString();\nvar out=s;\nmsg.payload= out;\nreturn msg;\n",
                                           "outputs": 1,
                                           "noerr": 0,
                                           "initialize": "",
                                           "finalize": "",
                                           "x": 1320,
                                           "y": 400,
                                           "wires": [
                                               [
                                                   "bb257b64.8d68e8"
                                               ]
                                           ]
                                       }
                                    ]
                                    
                                    
                                    
                                    


                                    anim-gif44.gif

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

                                      @tomily sagte in Journal-Log erstellen:

                                      An für sich behauptest du, dass der Tail befehl bei einer Änderung der Logdatei ausgeführt wird und mir diese mehrzeilige Ausagbe dann übermittelt? Habe ich das richtig verstanden?

                                      übrigens habe ich das nicht behauptet - der tailbefehl muss angestoßen werden. in den nodes gibt es nichts, was das tun könnte. aber eins nach nach dem anderen - ich wollte erstmal die daten bekommen. wie das richtig getriggert wird , müssen wir noch rausfinden.

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

                                        @tomily

                                        damit der flow getriggert wird, kannst du das nutzen -

                                        Image 7.png

                                        aber vorsicht, wenn das file oft geändert wird, wird oft getriggert
                                        auf das iobroker log würde ich das nicht anwenden - da wird sich tot getriggert

                                        da müßte dann eine pause eingebaut werden, das zwischen zwei triggern mind. ein paar sekunden liegen - daher würde ich (aus mangel an wissen) den timestamp einfach alle x sekunden wiederholen - so hast du es in der hand, wie oft getriggert wird

                                        daher einfach eine passende wiederholung einstellen

                                        Image 9.png

                                        dann wird alle x sekunden getriggert

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

                                          @liv-in-sky
                                          Geil!!!Danke für die Mühe mit dem Mini-Video. Ich hatte alles so eingestellt wie Du. Habe den ganzen ioBroker mal Neugestartet. Anschließend hat es sofort funktioniert. Irgendwas muss sich da aufgehängt haben....

                                          Die Anzeige kommt jetzt tatsächlich wie gewünscht im Textfeld und Debugfenster an.
                                          Jetzt wäre es nur noch geil, wenn ich die Zeilen trennen könnte. Dann habe ich mein Ziel mehr als erreicht 🙂

                                          Habe mal von Hand eine Test-LOG erstellt, die sich erst mal nicht ständig ändert. Den Trigger per "Wiederholung" ist ne super Idee und genügt vollkommen.

                                          9fd59325-d862-44f1-aa30-4654a499034b-grafik.png

                                          6187f993-df74-4fb3-a132-112f56f4661b-grafik.png

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

                                            @tomily

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

                                            Homoran 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            840
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            62
                                            2673
                                            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