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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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