Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] JS: Log-Datei aufbereiten für VIS

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] JS: Log-Datei aufbereiten für VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Andreas_Stefan last edited by Andreas_Stefan

      Hallo zusammen,

      bin nicht ganz neu, aber mit dem Script tue ich mich doch etwas schwer und benötige Hilfe.
      Habe den ioBroker auf Windows 10 laufen und habe das iobroker.logfile-script auf meinem Rechner kopiert und installiert. Beim starten kommt aber folgende Fehlermeldung:

      13:12:30.786	error	javascript.0 (9896) script.js.common.LogScript: script.js.common.LogScript:379
      13:12:30.787	error	javascript.0 (9896) at init (script.js.common.LogScript:379:5)
      13:12:30.787	error	javascript.0 (9896) at script.js.common.LogScript:372:1
      

      Kann mir jemand sagen, was da verkehrt ist?
      Somit werden zwar Datenpunkte gesetzt, aber keine Inhalte.
      acba2490-589a-4ecb-85a6-37e50ba5972f-grafik.png

      Ist es Möglich das der Fehler daher kommt, das er die Logfiles nicht findet?
      Habe folgenden Eintrag gemacht:

      84713504-a040-4e5f-8d0a-a01920211322-grafik.png

      Danke...

      A 1 Reply Last reply Reply Quote 0
      • A
        Andreas_Stefan @Andreas_Stefan last edited by

        @Andreas_Stefan
        Fehler gefunden...
        Javascript/Blockly Skriptausführung für ioBroker auf 4.3.4 aktualisiert.
        Dann funktioniert es auch.

        1 Reply Last reply Reply Quote 0
        • M
          M.Siemens last edited by

          @Mic
          Vielen Dank für das Script.

          Gibt es eine Möglichkeit, die Datenpunkte nicht im Javacript.0 Verzeichniss sondern in einem Eigenem abzulegen?
          Ich bin mit JSON Tabellen noch nicht ganz fit, kann ich die Spatenbreiten irgendwie vorgeben?

          Mic 1 Reply Last reply Reply Quote 0
          • Mic
            Mic Developer @M.Siemens last edited by Mic

            @M-Siemens
            Danke für dein Feedback, sehr gerne.

            Zu 1) ioBroker erlaubt es nicht, Datenpunkte vom JavaScript-Adapter außerhalb von javascript.<Instanz-Nr.>. abzulegen. Wenn du zentral die Datenpunkte brauchst, wäre vielleicht dieser Adapter für dich interessant. Ich weiß allerdings nicht, ob das mit den Datenpunkten meines Scripts funktionert.

            Zu 2) Ja, indem du in VIS im Widget "basic - Table" unter "Kolumnanzahl" die Anzahl der Spalten einträgst, also z.B. 4. Dann erscheint darunter ein Menü mit "Headers[x]". Dort gibst du dann unter "Width[x]" die jeweilige Spaltenbreite ein, z.B. "150px".
            Für weitere Fragen zur Formatierung zu JSON-Tabellen: bitte am besten neuen Thread aufmachen hier.

            M 1 Reply Last reply Reply Quote 0
            • M
              M.Siemens @Mic last edited by

              @Mic das mit den Spaltenbreiten klappt 👍 😊

              zu den Datenpunkten, ich leg selber mit folgendem Code Datenpunkte an, die auch Global sind

              setObject('Test.0.test', {
                      type: 'state',
                      common: {
                          read : true,
                          write : true,
                          name: 'Test',
                          type: 'number',
                          role: ''
                      },
                      native: {}
                  });
              

              würde sowas bei dir nicht auch gehen?

              Mic 1 Reply Last reply Reply Quote 0
              • Mic
                Mic Developer @M.Siemens last edited by

                @M-Siemens
                Ist meines Wissens offiziell nicht von ioBroker vorgesehen, da alle Datenpunkte durch den JavaScript-Adapter der lieben Ordnung halber unter javascript.x... erstellt werden sollen.
                Du kannst aber gerne versuchen, folgendes in den Script-Einstellungen anpassen, um zu versuchen, ob es geht:

                // Pfad, unter dem die States (Datenpunkte) in den Objekten angelegt werden.
                // Kann man so bestehen lassen.
                const LOG_STATE_PATH = 'javascript.'+ instance + '.' + 'Log-Script';
                

                Z.B. in (ungetestet):

                // Pfad, unter dem die States (Datenpunkte) in den Objekten angelegt werden.
                // Kann man so bestehen lassen.
                const LOG_STATE_PATH = 'Test.0.test.Log-Script';
                

                Weiß aber nicht, ob das die JavaScript-Funktionen createState() etc. unterstützen.

                -Alex- 0 1 Reply Last reply Reply Quote 0
                • K
                  Kuddel last edited by

                  Muss man den Pfad zu den Scripten, die Logeinträge genrieren immer über den Filter entfernen, damit sie nicht mit aufgelistet werden ?

                  Beispiel:

                  Eintrag im ioBroker Log: "+++ Das ist ein test +++"
                  Eintrag in Tabelle des Sripts: "script.js.java.smarthome.test1: +++ Das ist ein Test +++"

                  K 1 Reply Last reply Reply Quote 0
                  • -Alex- 0
                    -Alex- 0 @Mic last edited by

                    @Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                    @M-Siemens
                    Ist meines Wissens offiziell nicht von ioBroker vorgesehen, da alle Datenpunkte durch den JavaScript-Adapter der lieben Ordnung halber unter javascript.x... erstellt werden sollen.
                    Du kannst aber gerne versuchen, folgendes in den Script-Einstellungen anpassen, um zu versuchen, ob es geht:

                    // Pfad, unter dem die States (Datenpunkte) in den Objekten angelegt werden.
                    // Kann man so bestehen lassen.
                    const LOG_STATE_PATH = 'javascript.'+ instance + '.' + 'Log-Script';
                    

                    Z.B. in (ungetestet):

                    // Pfad, unter dem die States (Datenpunkte) in den Objekten angelegt werden.
                    // Kann man so bestehen lassen.
                    const LOG_STATE_PATH = 'Test.0.test.Log-Script';
                    

                    Weiß aber nicht, ob das die JavaScript-Funktionen createState() etc. unterstützen.

                    Hierzu ne Frage.
                    Bei mir gibts ganz oben in den Objekten den Ordner:

                    Stammordner_userdata.PNG

                    dieser wurde vom System angelegt. hier habe ich bis jetzt alle meine Datenpunkte erstellt.
                    in JavaScript habe ich bis jetzt noch nichts erstellt.
                    Sollte ich das dann liebe rin Javascript machen oder weiterhin in dem oben gezeigten Ordner?

                    Danke Dir!

                    Mic 1 Reply Last reply Reply Quote 0
                    • K
                      Knallix @Kuddel last edited by

                      @Kuddel said in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                      Muss man den Pfad zu den Scripten, die Logeinträge genrieren immer über den Filter entfernen, damit sie nicht mit aufgelistet werden ?

                      Beispiel:

                      Eintrag im ioBroker Log: "+++ Das ist ein test +++"
                      Eintrag in Tabelle des Sripts: "script.js.java.smarthome.test1: +++ Das ist ein Test +++"

                      Hast du hier schon eine Lösung?
                      Würde das auch gerne so machen.
                      Das wäre gut ,wenn es klappen würde.
                      Da ich die Meldungen so aufgebaut habe

                      K 1 Reply Last reply Reply Quote 0
                      • K
                        Kuddel @Knallix last edited by

                        @Knallix als Workaround habe ich alles hinterlegt, was abgeschnitten werden soll

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Knallix @Kuddel last edited by

                          @Kuddel said in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                          @Knallix als Workaround habe ich alles hinterlegt, was abgeschnitten werden soll

                          Also alles in den Filter knallen 🙂

                          Mic 1 Reply Last reply Reply Quote 0
                          • Mic
                            Mic Developer @-Alex- 0 last edited by

                            @Alex-0 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                            Hierzu ne Frage.
                            Bei mir gibts ganz oben in den Objekten den Ordner:

                            Stammordner_userdata.PNG

                            dieser wurde vom System angelegt. hier habe ich bis jetzt alle meine Datenpunkte erstellt.
                            in JavaScript habe ich bis jetzt noch nichts erstellt.
                            Sollte ich das dann liebe rin Javascript machen oder weiterhin in dem oben gezeigten Ordner?

                            Danke Dir!

                            Ich muss meine obigen Aussagen teils korrigieren 🙂
                            Derzeit erlaubt es der JavaScript-Adapter noch nicht, States unterhalb von 0_userdata.0 per offizieller ioBroker-Funktion anzulegen.
                            Aber es geht hiermit: [Vorlage] Skript: Erstellen von User-Datenpunkten

                            Ich habe angefangen, nun all meine Scripte auf 0_userdata.0 umzustellen, aber das dauert noch 🙂
                            Bis dahin bitte so belassen wie im Log-Script vorgesehen.

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Knallix @Mic last edited by

                              @Mic said in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                              0_userdata.0

                              Welche Vorteile bringt mir das, wenn alles auf 0_userdata.0 umgestellt wird ?

                              Mic 1 Reply Last reply Reply Quote 0
                              • Mic
                                Mic Developer @Knallix last edited by

                                @Kuddel, @Knallix
                                @Knallix sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                @Kuddel said in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                @Knallix als Workaround habe ich alles hinterlegt, was abgeschnitten werden soll

                                Also alles in den Filter knallen 🙂

                                Jepp, dafür ist die Filter-Option "clean" gedacht 😎 . Beispiel:

                                  {
                                    id:          'Bierkühlschrank',
                                    filter_all:  ['[Bierkühlschrank]', ''],
                                    filter_any:  ['', ''],
                                    blacklist:   ['', '', ''],
                                    clean:       ['script.js.Bierkühlschrank: [Bierkühlschrank]', '', ''],
                                    columns:     ['date','msg'],
                                    merge:       false,
                                  },
                                
                                1 Reply Last reply Reply Quote 0
                                • Mic
                                  Mic Developer @Knallix last edited by Mic

                                  @Knallix sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                  @Mic said in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                  0_userdata.0

                                  Welche Vorteile bringt mir das, wenn alles auf 0_userdata.0 umgestellt wird ?

                                  Siehe HIER.

                                  Erster Treffer: https://forum.iobroker.net/topic/26389/0_userdata-0-müssen-eigene-daten-dort-liegen

                                  D 1 Reply Last reply Reply Quote 1
                                  • D
                                    darkiop Most Active @Mic last edited by

                                    @Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                    Welche Vorteile bringt mir das, wenn alles auf 0_userdata.0 umgestellt wird ?

                                    Einfach gesagt, um zu verhindern das jemand im Root des Objektesbaumes direkt Objekte anlegt (z.B. MeineDatenpunkte.0). Grundsätzlich ist das kein Problem, wenn aber Morgen ein Adapter erscheint der genau diese Struktur verwendet wird es nicht gut ausgehen 🙂 Liegen deine Punkte heute aber schon unter javascript.0 können Sie dort auch bleiben - das ist dann reine Geschmacksache.

                                    -Alex- 0 1 Reply Last reply Reply Quote 2
                                    • -Alex- 0
                                      -Alex- 0 @darkiop last edited by

                                      @darkiop sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                      @Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                      Welche Vorteile bringt mir das, wenn alles auf 0_userdata.0 umgestellt wird ?

                                      Einfach gesagt, um zu verhindern das jemand im Root des Objektesbaumes direkt Objekte anlegt (z.B. MeineDatenpunkte.0). Grundsätzlich ist das kein Problem, wenn aber Morgen ein Adapter erscheint der genau diese Struktur verwendet wird es nicht gut ausgehen 🙂 Liegen deine Punkte heute aber schon unter javascript.0 können Sie dort auch bleiben - das ist dann reine Geschmacksache.

                                      @Mic , @Knallix
                                      danke für eure Antworten 😉
                                      ok so wie ich das jetzt verstanden habe und gelernt habe ist es sicherer die eigenen Datenobjekte unser 0_Userdata zu erstellen.
                                      Jeder Adapter hat seine eigene Root und Struktur, wenn ich den deinstalliere oder aus irgendeinem Grund Änderungen gemacht werden, wären eigene Datenpunkte innerhalb diese Adapters auch betroffen, bzw. werden gelöscht.
                                      Das gilt natürlich dann auch für den Javascript Adapter.
                                      Lösche ich den Adapter aus irgendeinem Grund, z.B. Reparatur o.ä. wären meine Daten auch futsch.
                                      Das würde eben für die .0_Userdata sprechen.
                                      Also das ist ja kein Custom Ordner von mir, der wurde bei der Installation von Javascript mit ausgeliefert, somit hat der schon seinen Zweck und gehe davon aus, das kein anderer Adapter dieses Verzeichnis nutzt. 😉

                                      K 1 Reply Last reply Reply Quote 1
                                      • K
                                        Knallix @-Alex- 0 last edited by

                                        @Alex-0 said in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                        Das würde eben für die .0_Userdata sprechen.

                                        Der ist mir bis jetzt nie aufgefallen, dass er da ist 🙂
                                        Habe hier auch alles unter Javascript. Dein Einwand finde ich aber nachvollziehbar.
                                        Habe allerdings alle GlobalenVar über ein Script angelegt. Dieses müsste ich dann einfach nur ausführen und die Struktur wäre wieder da.

                                        D 1 Reply Last reply Reply Quote 0
                                        • D
                                          darkiop Most Active @Knallix last edited by

                                          @Knallix sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                          Habe allerdings alle GlobalenVar über ein Script angelegt. Dieses müsste ich dann einfach nur ausführen und die Struktur wäre wieder da.

                                          Bedenke aber, das damit die Custom Einstellungen wie z.B. sql,linkeddevices,sourceanalytix, etc. nicht wieder gesetzt werden. D.h. da müsstest du dann auf Daten aus einem Backup zurückgreifen 😉

                                          1 Reply Last reply Reply Quote 0
                                          • MartinK.
                                            MartinK. @quorle last edited by MartinK.

                                            @quorle Also ich würde auch gerne in meiner Vis das Logfile implementieren, aber als Anfänger komme ich nicht richtig damit zurecht.... 😕 Ich habe das Java Skript angelegt , und bekomme auch unter den Objekten / den Eintrag
                                            des Log-Skiptes angezeigt :

                                            7d44dc18-867f-415f-9a20-4e3114c0fa25-image.png

                                            Ich habe im skript zu testen meinen textToComand-Adapter angelegt... (sonst habe ich keine Änderungen am Skript vorgenommen)

                                            fc430f8c-ec66-48ea-8c6e-1d9dbd87e772-image.png

                                            Wenn ich jetzt einen Befehl ausführe wird er in der Log vom ioBroker angezeigt, aber wie komme ich jetzt an die
                                            Daten aus dem Skript ??? Und vor allem wie bekomme ich sie als als Virtuelle Ausgabe in meine VIS ?? 😵

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            473
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            60
                                            617
                                            112660
                                            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