NEWS
SQL History - (Garagentor) in iobroker.vis tabellarisch darstellen
-
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. -
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.
@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

dann so aus:

-
@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

dann so aus:

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

dann so aus:

-
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

dann so aus:

-
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

dann so aus:



