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.
    • T
      tomily last edited by

      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

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

        @tomily

        tail -n 50 /opt/iobroker/log/iobroker.current.log
        
        T 1 Reply Last reply Reply Quote 0
        • T
          tomily @liv-in-sky last edited by

          @liv-in-sky

          Vielen Dank für die schnelle Rückmeldung.
          Die Beschreibung dazu ist jetzt leider nicht ganz so arg lange 🙂 😬

          Wo packe ich die Zeile rein? In den tail-Node?
          Angenommen meine Infos stehen in der datei /var/log/ping.log, dann wäre der entsprechende Befehl folgender?

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

          1000 Dank für eine kurze Erklärung deines Befehls.

          Grüße

          Homoran wendy2702 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @tomily last edited by

            @tomily sagte in Journal-Log erstellen:

            Die Beschreibung dazu ist jetzt leider nicht ganz so arg lange

            Angenommen meine Infos stehen in der datei /var/log/ping.log

            Wo stand denn, dass du eine eigene logdatei nutzen wolltest und nicht den aktuellen ioBroker-log?

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

              @tomily sagte in Journal-Log erstellen:

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

              NEIN.

              Der wäre dann so:

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

              Wobei du den Pfad natürlich noch anpassen musst.

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

                @homoran
                Mit dieser Zeile wollte ich das egtl ausdrücken:

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

                Wenn das mißverständlich war tut es mir leid.
                Ich bin natürlich auch offen für andere Lösungsvorschläge. Allerdings will ich mir nicht das Standard-Log anzeigen lassen, sondern dieses selbst gestalten.

                Aus meiner Sicht geht das am einfachsten mit einer selbst gebastelten Log-Datei, weleche Angezeigt wird. Dann bin ich unabhängig und kann aus unterschiedlichen Scripten in das LOG schreiben.

                Oder Alternativ evtl. mit einem Node, welches einem bestehenden Text eine Zeile hinzufügt.

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

                  @tomily Welches LOG willst du denn jetzt anzeigen lassen?

                  Das reine ioBroker log oder das Linux System log oder beides in einem?

                  Vielleicht ist es das was du suchst: https://forum.iobroker.net/topic/3863/iobroker-logging-zu-syslog/14

                  T 1 Reply Last reply Reply Quote 0
                  • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            942
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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