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.
    • 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
                                    • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            572
                                            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