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

  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. SQL History - (Garagentor) in iobroker.vis tabellarisch darstellen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

SQL History - (Garagentor) in iobroker.vis tabellarisch darstellen

Geplant Angeheftet Gesperrt Verschoben Ungelöst Visualisierung
vis
25 Beiträge 5 Kommentatoren 4.3k Aufrufe 6 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.
  • SegwayS Segway

    @assid

    Mhhhh, jo verstanden schon....sowas in der Art ?
    cafbeaf5-0961-4079-9d9f-fff66f831e3b-grafik.png

    A Offline
    A Offline
    assid
    schrieb am zuletzt editiert von
    #6

    @Segway
    Korrekt! Aber wenn dieses Log Skript, ein Jahr Daten aus den Logs picken muss. Und das für "jeden" Button. Glaub das wird übel.

    Außerdem weiß ich gar nicht wie lange der Log überhaupt in die Vergangenheit geht...

    SegwayS 1 Antwort Letzte Antwort
    0
    • A assid

      @Segway
      Korrekt! Aber wenn dieses Log Skript, ein Jahr Daten aus den Logs picken muss. Und das für "jeden" Button. Glaub das wird übel.

      Außerdem weiß ich gar nicht wie lange der Log überhaupt in die Vergangenheit geht...

      SegwayS Offline
      SegwayS Offline
      Segway
      schrieb am zuletzt editiert von
      #7

      @assid

      Das weiss ich jetzt nicht ob das so CPU-lastig wird. Wenn natürlich jede Sekunda eine Änderung geschrieben wird, dann ist das natürlich was anderes.
      Aber aus der SQL DB meine PV-Daten für 14 Tage oder 4 Wochen auslesen eght ruckzuck und hat bestimmt mehr als 50.000 Datenbank Punkte.

      Nicht desto trotz, das mal nur so am Rande, teste ich gerade verschiedene History Adapter aus und gerade was die Last angeht und Aufbereitung von Daten scheint wohl die die INFLUXDB als Time Series Database die bessere Wahl zu sein !

      Gruß Dirk
      Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

      A 1 Antwort Letzte Antwort
      0
      • I Offline
        I Offline
        I-Punkt
        schrieb am zuletzt editiert von
        #8

        Vielleicht verstehe ich ja das Problem nicht so richtig - aber warum speicherst du nicht ein JSON in einen Datenpunkt und jedes mal wenn sich das Tor bewegt, wird ein neuer Eintrag ins JSON geschrieben und dafür der älteste gelöscht?

        A 1 Antwort Letzte Antwort
        0
        • I I-Punkt

          Vielleicht verstehe ich ja das Problem nicht so richtig - aber warum speicherst du nicht ein JSON in einen Datenpunkt und jedes mal wenn sich das Tor bewegt, wird ein neuer Eintrag ins JSON geschrieben und dafür der älteste gelöscht?

          A Offline
          A Offline
          assid
          schrieb am zuletzt editiert von
          #9

          @I-Punkt
          Naja, wenn das flüssig läuft. Gerne. Ich denke mal 400 Tage rückwirkend alle Schaltzustände von ca. 12 Datenpunkten sollte SQL geloggt werden.

          I 1 Antwort Letzte Antwort
          0
          • SegwayS Segway

            @assid

            Das weiss ich jetzt nicht ob das so CPU-lastig wird. Wenn natürlich jede Sekunda eine Änderung geschrieben wird, dann ist das natürlich was anderes.
            Aber aus der SQL DB meine PV-Daten für 14 Tage oder 4 Wochen auslesen eght ruckzuck und hat bestimmt mehr als 50.000 Datenbank Punkte.

            Nicht desto trotz, das mal nur so am Rande, teste ich gerade verschiedene History Adapter aus und gerade was die Last angeht und Aufbereitung von Daten scheint wohl die die INFLUXDB als Time Series Database die bessere Wahl zu sein !

            A Offline
            A Offline
            assid
            schrieb am zuletzt editiert von
            #10

            @Segway

            Hast du ein Skript für mich? "SQL DB meine PV-Daten für 14 Tage oder 4 Wochen auslesen" Wäre eventl. Ein Anfang.

            SegwayS 1 Antwort Letzte Antwort
            0
            • A assid

              @Segway

              Hast du ein Skript für mich? "SQL DB meine PV-Daten für 14 Tage oder 4 Wochen auslesen" Wäre eventl. Ein Anfang.

              SegwayS Offline
              SegwayS Offline
              Segway
              schrieb am zuletzt editiert von
              #11

              @assid sagte in SQL History - (Garagentor) in iobroker.vis tabellarisch darstellen:

              Hast du ein Skript für mich? "SQL DB meine PV-Daten für 14 Tage oder 4 Wochen auslesen" Wäre eventl. Ein Anfang.

              Hilf mir mal - komme da gerade nicht mit. Was meinst du mit auslesen ?
              Ich lass mir das in Flot oder Grafana anzeigen und lese die Daten aus meiner SQL DB aus (testweise Influx).
              Das wars.
              Zur Not kann ich direkt in der Datenbank auch eine csv erzeugen und zB in Excel einlesen und irgendwas machen.

              Jetzt sag Du mal was du meinst.

              Gruß Dirk
              Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

              A 1 Antwort Letzte Antwort
              0
              • SegwayS Segway

                @assid sagte in SQL History - (Garagentor) in iobroker.vis tabellarisch darstellen:

                Hast du ein Skript für mich? "SQL DB meine PV-Daten für 14 Tage oder 4 Wochen auslesen" Wäre eventl. Ein Anfang.

                Hilf mir mal - komme da gerade nicht mit. Was meinst du mit auslesen ?
                Ich lass mir das in Flot oder Grafana anzeigen und lese die Daten aus meiner SQL DB aus (testweise Influx).
                Das wars.
                Zur Not kann ich direkt in der Datenbank auch eine csv erzeugen und zB in Excel einlesen und irgendwas machen.

                Jetzt sag Du mal was du meinst.

                A Offline
                A Offline
                assid
                schrieb am zuletzt editiert von
                #12

                @Segway
                Wie gesagt komme ich mit den gegebenen Mitteln nicht wirklich weiter. Ich werde es selber Skripten müssen. Wie gesagt, brauche keinen Graphen sondern ein tabellarische Ausgabe. Letzter Eintrag oben.... (Statuswechsel)

                1 Antwort Letzte Antwort
                0
                • A assid

                  @I-Punkt
                  Naja, wenn das flüssig läuft. Gerne. Ich denke mal 400 Tage rückwirkend alle Schaltzustände von ca. 12 Datenpunkten sollte SQL geloggt werden.

                  I Offline
                  I Offline
                  I-Punkt
                  schrieb am zuletzt editiert von
                  #13

                  @assid
                  Dann habe ich es wohl wirklich falsch verstanden. Ich dachte, es ging nur um die Anzeige der letzten 10 Öffnungen/Schließungen. Da hätte ich mit SQL geloggt (für irgendwann mal zum Nachgucken oder so) und parallel dazu in einem JSON die letzten 10 Datensätze gehalten und dies dann im VIS angezeigt.

                  A 1 Antwort Letzte Antwort
                  0
                  • I I-Punkt

                    @assid
                    Dann habe ich es wohl wirklich falsch verstanden. Ich dachte, es ging nur um die Anzeige der letzten 10 Öffnungen/Schließungen. Da hätte ich mit SQL geloggt (für irgendwann mal zum Nachgucken oder so) und parallel dazu in einem JSON die letzten 10 Datensätze gehalten und dies dann im VIS angezeigt.

                    A Offline
                    A Offline
                    assid
                    schrieb am zuletzt editiert von
                    #14

                    @I-Punkt
                    Naja, das ist eben die Frage, ob dies überhaupt sinnvoll ist, so lange zu Logn. Ich dachte, da ja eh ein komplettes Jahr in der SQL Datenbank ist, geht auch eine Abfrage direkt aus VIS heraus ohne datenpunkt. Denn so ein JSON String, würde ja extrem lang wird. Ich weiß nicht ob dies ein Problem sein könnte...

                    I 1 Antwort Letzte Antwort
                    0
                    • A assid

                      @I-Punkt
                      Naja, das ist eben die Frage, ob dies überhaupt sinnvoll ist, so lange zu Logn. Ich dachte, da ja eh ein komplettes Jahr in der SQL Datenbank ist, geht auch eine Abfrage direkt aus VIS heraus ohne datenpunkt. Denn so ein JSON String, würde ja extrem lang wird. Ich weiß nicht ob dies ein Problem sein könnte...

                      I Offline
                      I Offline
                      I-Punkt
                      schrieb am zuletzt editiert von
                      #15

                      @assid
                      Irgendwie scheinen wir doch aneinander vorbei zu denken.:wink: Ich würde:
                      A: grundsätzlich nach SQL loggen für z.B. ein Jahr oder was auch immer gewünscht ist und würde zusätzlich
                      B: in einem Datenpunkt ein JSON halten, welches immer nur die letzten 10 Datensätze beinhaltet
                      Punkt A erledigt der SQL-Adapter, Punkt B ein kleines Script, getriggert bei Änderung des Tor-Status -> ältesten Datensatz raus aus dem JSON, neuen Datensatz rein. Im JSON stehen dann immer nur die letzten 10 Datensätze. Statt JSON geht natürlich auch ein HTML-String/Tabelle oder was auch immer sich gut im VIS verarbeiten läßt.

                      A 1 Antwort Letzte Antwort
                      1
                      • I I-Punkt

                        @assid
                        Irgendwie scheinen wir doch aneinander vorbei zu denken.:wink: Ich würde:
                        A: grundsätzlich nach SQL loggen für z.B. ein Jahr oder was auch immer gewünscht ist und würde zusätzlich
                        B: in einem Datenpunkt ein JSON halten, welches immer nur die letzten 10 Datensätze beinhaltet
                        Punkt A erledigt der SQL-Adapter, Punkt B ein kleines Script, getriggert bei Änderung des Tor-Status -> ältesten Datensatz raus aus dem JSON, neuen Datensatz rein. Im JSON stehen dann immer nur die letzten 10 Datensätze. Statt JSON geht natürlich auch ein HTML-String/Tabelle oder was auch immer sich gut im VIS verarbeiten läßt.

                        A Offline
                        A Offline
                        assid
                        schrieb am zuletzt editiert von
                        #16

                        @I-Punkt
                        Ja soweit so gut, das hatte ich auch schon mal umgesetzt. Aber dann macht das SQL Loging keinen Sinn, wenn man diese Daten eh nicht abrufen kann. Weißt was ich meine?
                        Irgendwie probiere ich gerade, direkt aus VIS herraus, mittels reinem HTML Widget auf die SQL Datenbank zuzugreifen und die Daten zu Listen. Komme da aber nicht wirklich weiter.

                        I 1 Antwort Letzte Antwort
                        0
                        • A assid

                          @I-Punkt
                          Ja soweit so gut, das hatte ich auch schon mal umgesetzt. Aber dann macht das SQL Loging keinen Sinn, wenn man diese Daten eh nicht abrufen kann. Weißt was ich meine?
                          Irgendwie probiere ich gerade, direkt aus VIS herraus, mittels reinem HTML Widget auf die SQL Datenbank zuzugreifen und die Daten zu Listen. Komme da aber nicht wirklich weiter.

                          I Offline
                          I Offline
                          I-Punkt
                          schrieb am zuletzt editiert von
                          #17

                          @assid
                          Ah, okay. Für den "intensiveren Blick in meine SQL-Daten" habe ich mir HeidiSQL (gibt sicher auch noch andere) installiert und kann nun nach Belieben in den SQL-Daten von meinem PC aus rumgucken, filtern, exportieren usw. wenn mich was genauer interessiert. Solche "Recherche" würde ich aber nicht über VIS machen, da würde ich mir nur die jeweils letzten x Datensätze anzeigen lassen. Eben halt nur für den "kurzen Blick drauf".
                          HeidiSQL.jpg
                          Flot wäre vielleicht auch noch eine Alternative so als "Mittelweg". Da kannst du die Diagramme ja so einstellen, dass er dir beim Draufzeigen die Zeiten und Werte für den jeweiligen Datenpunkt anzeigt.
                          Flot_Boolean.jpg

                          1 Antwort Letzte Antwort
                          0
                          • A Offline
                            A Offline
                            assid
                            schrieb am zuletzt editiert von assid
                            #18

                            Wir kommen der Sache näher, anstatt HeidiSQL, nutze ich Navicat. Aber das sollte hier jetzt weniger relavant sein.

                            Das Flot Diagramm ist ja, wie oben schon erwähnt, mein eigentliches Problem. Denn Flot kann lediglich Graphen anzeigen, aber keine Tabellen.

                            Es gibt da noch "Grafana", dies ist aber extern von ioBroker zu verwenden (auch zu installieren)

                            Wenn ich bei Google eingebe: "mysql in html ausgeben" komme ich immer zu PHP mySQL Abfragen, soweit ich weiß kann aber das ioBroker VIS kein PHP. Demzufolge ist dies auch nicht meinem Ziel ein stückchen näher.

                            Mein Ziel:
                            ioBroker VIS, einfach Knopf drücken und dann sind ALLE geloggten öffnungen und schließungen "des Objektes (Türkontakt)" untereinander aufgeführt. Kann doch nicht so schwer sein, dies umzusetzen. .... wenne es schon so leicht ist hier zu beschreiben. lach

                            Es gibt bei VIS auch ein Widget "history - Event list"
                            Unbenannt.png

                            Das macht FAST das richtige für mein Vorhaben, dazu müsste ich mich mal durch den Quellcode wühlen. Ich vermute lagsam, ich habe meinen Post hier ins falsche Unterforum gestellt. Sollte wohl eher in die Kategorie "Skripten"

                            1 Antwort Letzte Antwort
                            0
                            • I Offline
                              I Offline
                              I-Punkt
                              schrieb am zuletzt editiert von
                              #19

                              Jetzt verwirrst du mich wieder. :relaxed: Also doch ALLE Werte im VIS anzeigen und nicht nur die letzten X?
                              Falls es doch in Richtung "nur X Elemente" (wobei X < 20 oder so) gehen sollte, es aber Datensätze aus einem beliebigen Zeitraum sein sollen, dann würde ich mir mal getHistory ansehen.
                              Oder als User Querie zusammenbauen. Dann ab in ein JSON und mit dem JSON-Table-Widget anzeigen.
                              Ansonsten kannst du auch hier vielleicht noch was finden.

                              A 2 Antworten Letzte Antwort
                              0
                              • I I-Punkt

                                Jetzt verwirrst du mich wieder. :relaxed: Also doch ALLE Werte im VIS anzeigen und nicht nur die letzten X?
                                Falls es doch in Richtung "nur X Elemente" (wobei X < 20 oder so) gehen sollte, es aber Datensätze aus einem beliebigen Zeitraum sein sollen, dann würde ich mir mal getHistory ansehen.
                                Oder als User Querie zusammenbauen. Dann ab in ein JSON und mit dem JSON-Table-Widget anzeigen.
                                Ansonsten kannst du auch hier vielleicht noch was finden.

                                A Offline
                                A Offline
                                assid
                                schrieb am zuletzt editiert von assid
                                #20

                                @I-Punkt
                                Cool, das sind schon mal paar sehr hilfreiche Links. Da muss ich mal schauen, ob ich da was drauß machen kann. Danke.
                                Wenn du / ihr schon ähnliche Skripte kennt. Über Links würde ich mich freuen. Denn ich kann nur "basteln" und nicht fließend "schreiben (programmieren)"

                                Frage mich halt nur wie ich diese JavaSkripte direkt ins HTML Widget ins VIS bekomme. ICh kann ja sicherlich schlecht die komplette Datenbank in einen JSON Datenpunkt schreiben und dann über ein Widget über VIS ausgeben...

                                1 Antwort Letzte Antwort
                                0
                                • I I-Punkt

                                  Jetzt verwirrst du mich wieder. :relaxed: Also doch ALLE Werte im VIS anzeigen und nicht nur die letzten X?
                                  Falls es doch in Richtung "nur X Elemente" (wobei X < 20 oder so) gehen sollte, es aber Datensätze aus einem beliebigen Zeitraum sein sollen, dann würde ich mir mal getHistory ansehen.
                                  Oder als User Querie zusammenbauen. Dann ab in ein JSON und mit dem JSON-Table-Widget anzeigen.
                                  Ansonsten kannst du auch hier vielleicht noch was finden.

                                  A Offline
                                  A Offline
                                  assid
                                  schrieb am zuletzt editiert von
                                  #21

                                  @I-Punkt

                                  OK, das wird jetzt länger dauern. Ich bekomme nicht einen einzigen Wert herraus, zudem auch nicht korrekt formatiert. Für "History" Skript Beispiele wäre ich dankbar.

                                  I 1 Antwort Letzte Antwort
                                  0
                                  • A assid

                                    @I-Punkt

                                    OK, das wird jetzt länger dauern. Ich bekomme nicht einen einzigen Wert herraus, zudem auch nicht korrekt formatiert. Für "History" Skript Beispiele wäre ich dankbar.

                                    I Offline
                                    I Offline
                                    I-Punkt
                                    schrieb am zuletzt editiert von
                                    #22

                                    @assid
                                    Versuche mal folgenden Code:

                                    sendTo('sql.0', 'getHistory', {
                                        id: 'hm-rpc.0.OEQXXXXXXXXX.1.MOTION',
                                        options: {
                                            end:       new Date().getTime(),
                                            count:     5,
                                            aggregate: 'onchange'
                                        }
                                    }, function (result) {
                                        Jstring = "[";
                                        for (var i = 0; i < result.result.length; i++) {
                                            console.log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
                                            Jstring=Jstring + "{\"Wert\":\""+result.result[i].val+"\",\"Zeit\":\""+formatDate(result.result[i].ts, "DD.MM.YYYY hh:mm")+"\"}";
                                            if (i < result.result.length-1) {
                                                Jstring = Jstring +",";
                                            }
                                        }
                                        Jstring = Jstring + "]"
                                        Jstring=Jstring.replace(/false/g,'Garagentor geschlossen');
                                        Jstring=Jstring.replace(/true/g,'Garagentor offen');
                                        setState('javascript.0.Test.JSON-Objekt'/*JSON-Objekt*/,  Jstring);
                                    });
                                    

                                    Geht bestimmt schöner und hübscher, sollte aber erstmal funktionieren.
                                    Voraussetzung: zu überwachender Datenpunkt wird in SQL geloggt und Datenpunkt für den JSON wurde angelegt
                                    Sieht im VIS mit diesem Widget
                                    json2.jpg
                                    dann so aus:
                                    json.jpg

                                    ice987I 1 Antwort Letzte Antwort
                                    1
                                    • I I-Punkt

                                      @assid
                                      Versuche mal folgenden Code:

                                      sendTo('sql.0', 'getHistory', {
                                          id: 'hm-rpc.0.OEQXXXXXXXXX.1.MOTION',
                                          options: {
                                              end:       new Date().getTime(),
                                              count:     5,
                                              aggregate: 'onchange'
                                          }
                                      }, function (result) {
                                          Jstring = "[";
                                          for (var i = 0; i < result.result.length; i++) {
                                              console.log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
                                              Jstring=Jstring + "{\"Wert\":\""+result.result[i].val+"\",\"Zeit\":\""+formatDate(result.result[i].ts, "DD.MM.YYYY hh:mm")+"\"}";
                                              if (i < result.result.length-1) {
                                                  Jstring = Jstring +",";
                                              }
                                          }
                                          Jstring = Jstring + "]"
                                          Jstring=Jstring.replace(/false/g,'Garagentor geschlossen');
                                          Jstring=Jstring.replace(/true/g,'Garagentor offen');
                                          setState('javascript.0.Test.JSON-Objekt'/*JSON-Objekt*/,  Jstring);
                                      });
                                      

                                      Geht bestimmt schöner und hübscher, sollte aber erstmal funktionieren.
                                      Voraussetzung: zu überwachender Datenpunkt wird in SQL geloggt und Datenpunkt für den JSON wurde angelegt
                                      Sieht im VIS mit diesem Widget
                                      json2.jpg
                                      dann so aus:
                                      json.jpg

                                      ice987I Offline
                                      ice987I Offline
                                      ice987
                                      schrieb am zuletzt editiert von
                                      #23

                                      Hallo zusammen,

                                      Ich habe den code von @I-Punkt bei mir eingebaut und dieser funktioniert einwandfrei. Vielen Dank.
                                      Ich versuche nun seit längerem, die Ausgabe umzukehren, so dass der neueste Eintrag zuoberst und nicht zuunterst ausgegeben wird. Laut SQL ist „ORDER BY ts, ... ASC|DESC;“ dafür zuständig.
                                      Gibts unter dem Befehl „options: {„ evtl. Die Möglichkeit dies direkt einzupflegen, bzw. gibts eine Übersicht, welche Befehle in diesem Abschnitt erlaubt sind? (Unter https://github.com/ioBroker/ioBroker.sql ist nichts zu finden).

                                      @I-Punkt said in SQL History - (Garagentor) in iobroker.vis tabellarisch darstellen:

                                      @assid
                                      Versuche mal folgenden Code:

                                      sendTo('sql.0', 'getHistory', {
                                          id: 'hm-rpc.0.OEQXXXXXXXXX.1.MOTION',
                                          options: {
                                              end:       new Date().getTime(),
                                              count:     5,
                                              aggregate: 'onchange'
                                          }
                                      }, function (result) {
                                          Jstring = "[";
                                          for (var i = 0; i < result.result.length; i++) {
                                              console.log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
                                              Jstring=Jstring + "{\"Wert\":\""+result.result[i].val+"\",\"Zeit\":\""+formatDate(result.result[i].ts, "DD.MM.YYYY hh:mm")+"\"}";
                                              if (i < result.result.length-1) {
                                                  Jstring = Jstring +",";
                                              }
                                          }
                                          Jstring = Jstring + "]"
                                          Jstring=Jstring.replace(/false/g,'Garagentor geschlossen');
                                          Jstring=Jstring.replace(/true/g,'Garagentor offen');
                                          setState('javascript.0.Test.JSON-Objekt'/*JSON-Objekt*/,  Jstring);
                                      });
                                      

                                      Geht bestimmt schöner und hübscher, sollte aber erstmal funktionieren.
                                      Voraussetzung: zu überwachender Datenpunkt wird in SQL geloggt und Datenpunkt für den JSON wurde angelegt
                                      Sieht im VIS mit diesem Widget
                                      json2.jpg
                                      dann so aus:
                                      json.jpg

                                      husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                                      GlasfaserG I 2 Antworten Letzte Antwort
                                      0
                                      • ice987I ice987

                                        Hallo zusammen,

                                        Ich habe den code von @I-Punkt bei mir eingebaut und dieser funktioniert einwandfrei. Vielen Dank.
                                        Ich versuche nun seit längerem, die Ausgabe umzukehren, so dass der neueste Eintrag zuoberst und nicht zuunterst ausgegeben wird. Laut SQL ist „ORDER BY ts, ... ASC|DESC;“ dafür zuständig.
                                        Gibts unter dem Befehl „options: {„ evtl. Die Möglichkeit dies direkt einzupflegen, bzw. gibts eine Übersicht, welche Befehle in diesem Abschnitt erlaubt sind? (Unter https://github.com/ioBroker/ioBroker.sql ist nichts zu finden).

                                        @I-Punkt said in SQL History - (Garagentor) in iobroker.vis tabellarisch darstellen:

                                        @assid
                                        Versuche mal folgenden Code:

                                        sendTo('sql.0', 'getHistory', {
                                            id: 'hm-rpc.0.OEQXXXXXXXXX.1.MOTION',
                                            options: {
                                                end:       new Date().getTime(),
                                                count:     5,
                                                aggregate: 'onchange'
                                            }
                                        }, function (result) {
                                            Jstring = "[";
                                            for (var i = 0; i < result.result.length; i++) {
                                                console.log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
                                                Jstring=Jstring + "{\"Wert\":\""+result.result[i].val+"\",\"Zeit\":\""+formatDate(result.result[i].ts, "DD.MM.YYYY hh:mm")+"\"}";
                                                if (i < result.result.length-1) {
                                                    Jstring = Jstring +",";
                                                }
                                            }
                                            Jstring = Jstring + "]"
                                            Jstring=Jstring.replace(/false/g,'Garagentor geschlossen');
                                            Jstring=Jstring.replace(/true/g,'Garagentor offen');
                                            setState('javascript.0.Test.JSON-Objekt'/*JSON-Objekt*/,  Jstring);
                                        });
                                        

                                        Geht bestimmt schöner und hübscher, sollte aber erstmal funktionieren.
                                        Voraussetzung: zu überwachender Datenpunkt wird in SQL geloggt und Datenpunkt für den JSON wurde angelegt
                                        Sieht im VIS mit diesem Widget
                                        json2.jpg
                                        dann so aus:
                                        json.jpg

                                        GlasfaserG Online
                                        GlasfaserG Online
                                        Glasfaser
                                        schrieb am zuletzt editiert von Glasfaser
                                        #24

                                        @ice987
                                        Kennst du den Adapter Log Parser , da hast du viel mehr Möglichkeiten !

                                        1.JPG
                                        .
                                        2.jpg

                                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                        1 Antwort Letzte Antwort
                                        0
                                        • ice987I ice987

                                          Hallo zusammen,

                                          Ich habe den code von @I-Punkt bei mir eingebaut und dieser funktioniert einwandfrei. Vielen Dank.
                                          Ich versuche nun seit längerem, die Ausgabe umzukehren, so dass der neueste Eintrag zuoberst und nicht zuunterst ausgegeben wird. Laut SQL ist „ORDER BY ts, ... ASC|DESC;“ dafür zuständig.
                                          Gibts unter dem Befehl „options: {„ evtl. Die Möglichkeit dies direkt einzupflegen, bzw. gibts eine Übersicht, welche Befehle in diesem Abschnitt erlaubt sind? (Unter https://github.com/ioBroker/ioBroker.sql ist nichts zu finden).

                                          @I-Punkt said in SQL History - (Garagentor) in iobroker.vis tabellarisch darstellen:

                                          @assid
                                          Versuche mal folgenden Code:

                                          sendTo('sql.0', 'getHistory', {
                                              id: 'hm-rpc.0.OEQXXXXXXXXX.1.MOTION',
                                              options: {
                                                  end:       new Date().getTime(),
                                                  count:     5,
                                                  aggregate: 'onchange'
                                              }
                                          }, function (result) {
                                              Jstring = "[";
                                              for (var i = 0; i < result.result.length; i++) {
                                                  console.log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
                                                  Jstring=Jstring + "{\"Wert\":\""+result.result[i].val+"\",\"Zeit\":\""+formatDate(result.result[i].ts, "DD.MM.YYYY hh:mm")+"\"}";
                                                  if (i < result.result.length-1) {
                                                      Jstring = Jstring +",";
                                                  }
                                              }
                                              Jstring = Jstring + "]"
                                              Jstring=Jstring.replace(/false/g,'Garagentor geschlossen');
                                              Jstring=Jstring.replace(/true/g,'Garagentor offen');
                                              setState('javascript.0.Test.JSON-Objekt'/*JSON-Objekt*/,  Jstring);
                                          });
                                          

                                          Geht bestimmt schöner und hübscher, sollte aber erstmal funktionieren.
                                          Voraussetzung: zu überwachender Datenpunkt wird in SQL geloggt und Datenpunkt für den JSON wurde angelegt
                                          Sieht im VIS mit diesem Widget
                                          json2.jpg
                                          dann so aus:
                                          json.jpg

                                          I Offline
                                          I Offline
                                          I-Punkt
                                          schrieb am zuletzt editiert von
                                          #25

                                          @ice987
                                          Im Widget gibt es diesen Schalter. Evtl. reicht der ja schon?
                                          7c61b676-4fef-4491-9e6d-777b3f6a2dcc-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

                                          451

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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