Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Hilfe bei der Erstellung eines Log Files für die VIS

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    993

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Hilfe bei der Erstellung eines Log Files für die VIS

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklyjavascripttemplate
7 Beiträge 3 Kommentatoren 585 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • L Offline
    L Offline
    ltsalvatore
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich hoffe es kann mir jemand bei der Realisierung meines Anliegens behilflich sein.

    Für diverse Fenster und Türen habe ich Datenpunkte erstellt in denen geschrieben wird wann eine Tür oder ein Fenster geöffnet bzw. geschlossen wurde. Sowohl fürs öffnen als auch fürs schließen gibt es separate Datenpunkt (siehe erste Grafik).

    Jetzt würde ich gerne diese Einträge, dessen Werte nach jedem Öffnen und Schließen durch den aktuellen Wert überschrieben werden, loggen und in Form eines Logfiles im VIS darstellen lassen.
    Bspw. die letzten 10 Einträge für die Haustür.

    Ein bisschen was habe ich im Forum und auch im Internet gefunden aber das hat mir irgendwie nicht viel weitergeholfen.

    Die von mir erstellten Datenpunkte sehen folgendermaßen aus:

    183a0d4a-6abc-44d3-8e43-a50b7c6c81bb-image.png

    Meine Idee war, das ganze über ein Script zu realisieren, welches die x Anzahl generierter Einträge in ein neues Objekt schreibt und dieses Objekt wiederum im VIS genutzt werden kann.

    Alternativ dachte ich an den History Adapter; dieser macht ja genau das, was ich gerne haben wollen würde.. nur wie bekommen ich diese Werte, welche sich ja auf mehrere Tage verteilen, ins VIS dargestellt?
    Wenn ich mich nicht täusche, erstellt der History Adapter für jeden Tag einen separaten Ordner, was es in dem Fall recht kompliziert macht, das Ganze umzusetzen.. zumindest mit meinen rudimentären skills :-).

    414fa028-6ab8-41e6-a480-9d0f8c9882b7-image.png

    Ich bedanke mich jetzt schon für eure Unterstütung
    ltsalvatore

    sigi234S 1 Antwort Letzte Antwort
    0
    • L ltsalvatore

      Hallo zusammen,

      ich hoffe es kann mir jemand bei der Realisierung meines Anliegens behilflich sein.

      Für diverse Fenster und Türen habe ich Datenpunkte erstellt in denen geschrieben wird wann eine Tür oder ein Fenster geöffnet bzw. geschlossen wurde. Sowohl fürs öffnen als auch fürs schließen gibt es separate Datenpunkt (siehe erste Grafik).

      Jetzt würde ich gerne diese Einträge, dessen Werte nach jedem Öffnen und Schließen durch den aktuellen Wert überschrieben werden, loggen und in Form eines Logfiles im VIS darstellen lassen.
      Bspw. die letzten 10 Einträge für die Haustür.

      Ein bisschen was habe ich im Forum und auch im Internet gefunden aber das hat mir irgendwie nicht viel weitergeholfen.

      Die von mir erstellten Datenpunkte sehen folgendermaßen aus:

      183a0d4a-6abc-44d3-8e43-a50b7c6c81bb-image.png

      Meine Idee war, das ganze über ein Script zu realisieren, welches die x Anzahl generierter Einträge in ein neues Objekt schreibt und dieses Objekt wiederum im VIS genutzt werden kann.

      Alternativ dachte ich an den History Adapter; dieser macht ja genau das, was ich gerne haben wollen würde.. nur wie bekommen ich diese Werte, welche sich ja auf mehrere Tage verteilen, ins VIS dargestellt?
      Wenn ich mich nicht täusche, erstellt der History Adapter für jeden Tag einen separaten Ordner, was es in dem Fall recht kompliziert macht, das Ganze umzusetzen.. zumindest mit meinen rudimentären skills :-).

      414fa028-6ab8-41e6-a480-9d0f8c9882b7-image.png

      Ich bedanke mich jetzt schon für eure Unterstütung
      ltsalvatore

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      schrieb am zuletzt editiert von sigi234
      #2

      @ltsalvatore
      Logparser Adapter

      https://github.com/iobroker-community-adapters/ioBroker.logparser

      ODER.

      https://github.com/ioBroker/ioBroker.eventlist

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      L 1 Antwort Letzte Antwort
      0
      • sigi234S sigi234

        @ltsalvatore
        Logparser Adapter

        https://github.com/iobroker-community-adapters/ioBroker.logparser

        ODER.

        https://github.com/ioBroker/ioBroker.eventlist

        L Offline
        L Offline
        ltsalvatore
        schrieb am zuletzt editiert von
        #3

        @sigi234 sagte in Hilfe bei der Erstellung eines Log Files für die VIS:

        @ltsalvatore
        Logparser Adapter

        https://github.com/iobroker-community-adapters/ioBroker.logparser

        ODER.

        https://github.com/ioBroker/ioBroker.eventlist

        danke, ich werde mir beide adapter mal in ruhe anschauen.
        wobei ich persönlich ein script bevorzugt hätte um nicht noch einen weiteren adapter installieren zu müssen, welches nur für diese eine aufgabe gedacht wäre. Immerhin frisst so ein zusätzlicher adapter ja einiges an ressourcen.

        1 Antwort Letzte Antwort
        0
        • L Offline
          L Offline
          ltsalvatore
          schrieb am zuletzt editiert von
          #4

          hallo nochmal..

          erst mal danke für den tip mit den adapter.

          1. den adapter eventlist find ich interessant und sehr überschaubar. jedoch schreibt dieser alle eingerichteten zustände in einem objekt, was es für mein anliegen unbrauchbar macht. eine option, für jeden zustand ein objekt / eine liste zu erstellen habe ich nicht gefunden.

          2. was den adapter logparser angeht, soweit ich sehen kann, scheint dieser in der lage zu sein, für jeden zustand ein objekt anzulegen, aber offen gestanden blick ich selbst mit anleitung nicht durch wie dieser adapter funktionieren soll.
            trage ich unter whiltelist ein, welchen zustand ich loggen möchte? wenn ja, wie denn?

          3. wie bereits im vorherigen post erwähnt, hätte ich das ganze lieber mit einem script gelöst anstelle eines apdaters um auch weitere ressourcen zu sparen. mittlerweile habe ich schon fast 30 adapter installiert und musste erst vorgestern den iobroker von 5 auf 6GB RAM aufrüsten.

          deshalb würde es mich freuen, falls doch jemand ein paar anregungen hat, wie man das ganze über ein script realisieren kann.

          danke und einen schönen abend noch
          ltsalvatore

          L 1 Antwort Letzte Antwort
          0
          • L ltsalvatore

            hallo nochmal..

            erst mal danke für den tip mit den adapter.

            1. den adapter eventlist find ich interessant und sehr überschaubar. jedoch schreibt dieser alle eingerichteten zustände in einem objekt, was es für mein anliegen unbrauchbar macht. eine option, für jeden zustand ein objekt / eine liste zu erstellen habe ich nicht gefunden.

            2. was den adapter logparser angeht, soweit ich sehen kann, scheint dieser in der lage zu sein, für jeden zustand ein objekt anzulegen, aber offen gestanden blick ich selbst mit anleitung nicht durch wie dieser adapter funktionieren soll.
              trage ich unter whiltelist ein, welchen zustand ich loggen möchte? wenn ja, wie denn?

            3. wie bereits im vorherigen post erwähnt, hätte ich das ganze lieber mit einem script gelöst anstelle eines apdaters um auch weitere ressourcen zu sparen. mittlerweile habe ich schon fast 30 adapter installiert und musste erst vorgestern den iobroker von 5 auf 6GB RAM aufrüsten.

            deshalb würde es mich freuen, falls doch jemand ein paar anregungen hat, wie man das ganze über ein script realisieren kann.

            danke und einen schönen abend noch
            ltsalvatore

            L Offline
            L Offline
            ltsalvatore
            schrieb am zuletzt editiert von
            #5

            anyone please :blush:

            paul53P 1 Antwort Letzte Antwort
            0
            • L ltsalvatore

              anyone please :blush:

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #6

              @ltsalvatore
              Du hast nicht geschrieben wie die Darstellung in Vis aussehen soll.
              In einem Log werden die Ereignisse in der Reihenfolge ihres Auftretens protokolliert. Ansatz ohne die zusätzlichen Datenpunkte aus dem ersten Beitrag:

              const ids = Array.prototype.slice.apply($('*(functions=fenster)'));
              const idJSON = "0_userdata.0.Fenster.JSON";
              var arr = [];
              if(getState(idJSON).val) arr = JSON.parse(getState(idJSON).val);
              
              on(ids, function(dp) {
                  arr.unshift({Name: dp.common.name, Zustand: dp.state.val ? 'offen' : 'geschlossen', seit: formatDate(dp.state.lc, 'DD.MM. hh:mm')});
                  if(arr.length > 10) arr.pop();
                  setState(idJSON, JSON.stringify(arr), true);
              });
              

              Erzeugt wird eine JSON-Table mit dem jüngsten Ereignis zuerst (oben).

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              L 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @ltsalvatore
                Du hast nicht geschrieben wie die Darstellung in Vis aussehen soll.
                In einem Log werden die Ereignisse in der Reihenfolge ihres Auftretens protokolliert. Ansatz ohne die zusätzlichen Datenpunkte aus dem ersten Beitrag:

                const ids = Array.prototype.slice.apply($('*(functions=fenster)'));
                const idJSON = "0_userdata.0.Fenster.JSON";
                var arr = [];
                if(getState(idJSON).val) arr = JSON.parse(getState(idJSON).val);
                
                on(ids, function(dp) {
                    arr.unshift({Name: dp.common.name, Zustand: dp.state.val ? 'offen' : 'geschlossen', seit: formatDate(dp.state.lc, 'DD.MM. hh:mm')});
                    if(arr.length > 10) arr.pop();
                    setState(idJSON, JSON.stringify(arr), true);
                });
                

                Erzeugt wird eine JSON-Table mit dem jüngsten Ereignis zuerst (oben).

                L Offline
                L Offline
                ltsalvatore
                schrieb am zuletzt editiert von
                #7

                @paul53 sagte in Hilfe bei der Erstellung eines Log Files für die VIS:

                @ltsalvatore
                Du hast nicht geschrieben wie die Darstellung in Vis aussehen soll.
                In einem Log werden die Ereignisse in der Reihenfolge ihres Auftretens protokolliert. Ansatz ohne die zusätzlichen Datenpunkte aus dem ersten Beitrag:

                const ids = Array.prototype.slice.apply($('*(functions=fenster)'));
                const idJSON = "0_userdata.0.Fenster.JSON";
                var arr = [];
                if(getState(idJSON).val) arr = JSON.parse(getState(idJSON).val);
                
                on(ids, function(dp) {
                    arr.unshift({Name: dp.common.name, Zustand: dp.state.val ? 'offen' : 'geschlossen', seit: formatDate(dp.state.lc, 'DD.MM. hh:mm')});
                    if(arr.length > 10) arr.pop();
                    setState(idJSON, JSON.stringify(arr), true);
                });
                

                Erzeugt wird eine JSON-Table mit dem jüngsten Ereignis zuerst (oben).

                Danke für dein Feedback.

                Im VIS soll das Ganze chronologisch von oben nach unten oder von mir aus von unten nach oben dargestellt werden. Wie es bspw. auch beim ical der Fall ist (s.u.).

                Und in dieser Auflistung der letzten 10 Zustände soll der Wert von zwei Objekten angezeigt werden. In meinem Fall die beiden Objekte window_closed_since_BDZ und window_open_since_BDZ. aber auch nur wenn der Wert nicht gleich 0 ist, weil der Wert gleich 0 mir in der Auflistung nichts bringt.

                13cfc232-6a67-4a23-97d2-5e9630948dbf-image.png

                Sowas Ähnliches gibt es ja auch bei der mihome app für die Sensoren, aber leider liest der Adapter diese Tabelle nicht aus:

                5fe3fac2-aee3-4a37-b027-9b0aea3e4885-image.png

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                532

                Online

                32.6k

                Benutzer

                82.3k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe