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.
    • 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
                                      • Glasfaser
                                        Glasfaser @MartinK. last edited by

                                        @MartinK

                                        Wenn du die Original Einstellungen gelassen hast , dann findest du sie dort.

                                        1.JPG
                                        1.JPG

                                        Und ein Widget ist hier auch im Thread vorhanden ….Widget Beispiel

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

                                          @Glasfaser Vielen Dank! Ich werde es nochmals versuchen... Schade das dafür nicht einfach einen Adapter zum installieren gibt... 😉 das würde es für die Laien
                                          wie mich erleichtern 😄

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

                                            @M-Siemens @Alex-0 @Knallix

                                            Ich habe die Basis für 0_userdata.0 geschaffen (https://github.com/Mic-M/iobroker.createUserStates) und werde das als Option die Tage hier im Script einbauen.

                                            -Alex- 0 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            829
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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