NEWS
[gelöst] Datenbank mit mehr als einem "_value" - Feld
-
@DGR was bitte haben die Datenbanken
@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
SQL oder einfach auch MS Access
und
@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
influxdb und grafana
mit Blocly zu tund
-
@Homoran
Influxdb ud Grafana haben zunächst mal nichts mit Blockly zu tun. War nur ein Hinweis auf die weitere Verarbeitung. SQL und Access waren die Antwort für @paul53.@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
@Homoran
Influxdb ud Grafana haben zunächst mal nichts mit Blockly zu tun. War nur ein Hinweis auf die weitere Verarbeitung.was bitte willst du dann??
in Blockly sortieren hat dir Paul gezrigt. Dann kamv
@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
Mit Arrays habe ich bisher noch keine Erfahrung.
Aus der Antwort schließe ich erstmal, dass es nicht so wie in anderen Datenbanken funktioniertBlockly ist keine Datenbank, und wenn du in der Datenbank sortieren willst, musst du es auch da machen.
-
@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
@Homoran
Influxdb ud Grafana haben zunächst mal nichts mit Blockly zu tun. War nur ein Hinweis auf die weitere Verarbeitung.was bitte willst du dann??
in Blockly sortieren hat dir Paul gezrigt. Dann kamv
@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
Mit Arrays habe ich bisher noch keine Erfahrung.
Aus der Antwort schließe ich erstmal, dass es nicht so wie in anderen Datenbanken funktioniertBlockly ist keine Datenbank, und wenn du in der Datenbank sortieren willst, musst du es auch da machen.
@Homoran
Dass Blockly keine Datenbank ist, ist hinlänglich bekannt. Meine Frage zielte auf die Erstellung einer Datenbank und da ist Blockly ein Hilfsmittel wenn man so will. Offensichtlich kann man in iobroker zu jedem Timestamp nur einen Wert erfassen. Ausser man geht den (Um)Weg über Arrays. -
Was genau hast Du denn da vor?
Wenn Du zu einem "timestamp" irgendwelche Daten in eine DB schreiben willst, ist der entsprechende DB-Adapter (SQL, Influx) Dein Freund.
Wie @homoran schon schreibt: Die Daten sollten zunächst mal unsortiert einfach nur in eine DB geschrieben werden. Sortieren kann jede DB besser als Blockly ... dafür sind die Dinger ja gemacht. -
Was genau hast Du denn da vor?
Wenn Du zu einem "timestamp" irgendwelche Daten in eine DB schreiben willst, ist der entsprechende DB-Adapter (SQL, Influx) Dein Freund.
Wie @homoran schon schreibt: Die Daten sollten zunächst mal unsortiert einfach nur in eine DB geschrieben werden. Sortieren kann jede DB besser als Blockly ... dafür sind die Dinger ja gemacht.@Codierknecht
Vielleicht habe ich das am Anfang nicht klar genug formuliert. Es war für mich auch nur ein Beispiel für ein grundsätzliches Problem. Leider kenne ich mich nur in Blockly etwas aus und in JavaScript gar nicht.
Also in Blockly kann ich mit einfachen Mitteln (ausser Arrays) zu jedem Timestamp nur einen Wert erfassen. Um auf das Beispiel (!) zurückzukommen:
Ich erhalte vom Sensor einen Zustand und schreibe diesen Wert in ein von mir angelegtes Objekt, welches dann diesen Wert mit einem Zeitstempel versieht und an influxdb weiterreicht.
Ich kann NICHT vorher zu diesem Zeitstempel noch eine weitere Information weitergeben, z.B. den Wert UND getrennt eine Bemerkung dazu. Ich kann nur diese "Bemerkung" mit in das Wertefeld schreiben. Wenn ich im angelegten Objekt in die Verlaufsdaten sehe, sehe ich immer nur "Timestamp - Wert - Ack - Von".
Für mich wäre es besser, es gäbe die Möglichkeit "Timestamp - Wert1 - Wert2 - ... - Ack - Von" -
@Codierknecht
Vielleicht habe ich das am Anfang nicht klar genug formuliert. Es war für mich auch nur ein Beispiel für ein grundsätzliches Problem. Leider kenne ich mich nur in Blockly etwas aus und in JavaScript gar nicht.
Also in Blockly kann ich mit einfachen Mitteln (ausser Arrays) zu jedem Timestamp nur einen Wert erfassen. Um auf das Beispiel (!) zurückzukommen:
Ich erhalte vom Sensor einen Zustand und schreibe diesen Wert in ein von mir angelegtes Objekt, welches dann diesen Wert mit einem Zeitstempel versieht und an influxdb weiterreicht.
Ich kann NICHT vorher zu diesem Zeitstempel noch eine weitere Information weitergeben, z.B. den Wert UND getrennt eine Bemerkung dazu. Ich kann nur diese "Bemerkung" mit in das Wertefeld schreiben. Wenn ich im angelegten Objekt in die Verlaufsdaten sehe, sehe ich immer nur "Timestamp - Wert - Ack - Von".
Für mich wäre es besser, es gäbe die Möglichkeit "Timestamp - Wert1 - Wert2 - ... - Ack - Von"@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
Für mich wäre es besser, es gäbe die Möglichkeit "Timestamp - Wert1 - Wert2 - ... - Ack - Von"
welche Datenbank kann das denn verarbeiten?
Das wäre ja im Prinzip schon ein kompletter Datensatz in einer möglicherweise relationalen Datenbank
Hier werden nur einzelne Datenpunkte gespeichert
-
@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
Für mich wäre es besser, es gäbe die Möglichkeit "Timestamp - Wert1 - Wert2 - ... - Ack - Von"
welche Datenbank kann das denn verarbeiten?
Das wäre ja im Prinzip schon ein kompletter Datensatz in einer möglicherweise relationalen Datenbank
Hier werden nur einzelne Datenpunkte gespeichert
welche Datenbank kann das denn verarbeiten?
Der Frage nach zu urteilen kann das wohl keine DB im Zusammenhang mit iobroker.
Aber immerhin ist das eine klare Aussage zu meinem Problem. Wäre zwar schön gewesen, aber es ist ja auch nicht so gravierend, dass ich nicht weiter arbeiten kann. -
welche Datenbank kann das denn verarbeiten?
Der Frage nach zu urteilen kann das wohl keine DB im Zusammenhang mit iobroker.
Aber immerhin ist das eine klare Aussage zu meinem Problem. Wäre zwar schön gewesen, aber es ist ja auch nicht so gravierend, dass ich nicht weiter arbeiten kann.@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
Der Frage nach zu urteilen
warum Gegenfragen?
Die Frage ist DEIN Usecase
@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
Aber immerhin ist das eine klare Aussage
ist es eben gar nicht.
Es ist ei e Frage, die auf Antworten wartet
-
@Codierknecht
Vielleicht habe ich das am Anfang nicht klar genug formuliert. Es war für mich auch nur ein Beispiel für ein grundsätzliches Problem. Leider kenne ich mich nur in Blockly etwas aus und in JavaScript gar nicht.
Also in Blockly kann ich mit einfachen Mitteln (ausser Arrays) zu jedem Timestamp nur einen Wert erfassen. Um auf das Beispiel (!) zurückzukommen:
Ich erhalte vom Sensor einen Zustand und schreibe diesen Wert in ein von mir angelegtes Objekt, welches dann diesen Wert mit einem Zeitstempel versieht und an influxdb weiterreicht.
Ich kann NICHT vorher zu diesem Zeitstempel noch eine weitere Information weitergeben, z.B. den Wert UND getrennt eine Bemerkung dazu. Ich kann nur diese "Bemerkung" mit in das Wertefeld schreiben. Wenn ich im angelegten Objekt in die Verlaufsdaten sehe, sehe ich immer nur "Timestamp - Wert - Ack - Von".
Für mich wäre es besser, es gäbe die Möglichkeit "Timestamp - Wert1 - Wert2 - ... - Ack - Von" -
@DGR sagte: Möglichkeit "Timestamp - Wert1 - Wert2 - ... - Ack - Von"
Man kann als Wert auch ein Array oder Objekt schreiben.
[Wert1, Wert2] // DP-Typ: "array" // oder {Wert: Wert1, Bemerkung: Wert2} // DP-Typ "object"@paul53 sagte in Datenbank mit mehr als einem "_value" - Feld:
Man kann als Wert auch ein Array oder Objekt schreiben.
@dgr
Schreiben ist das eine, aber wer soll das wofür empfangen? -
@paul53 sagte in Datenbank mit mehr als einem "_value" - Feld:
Man kann als Wert auch ein Array oder Objekt schreiben.
@dgr
Schreiben ist das eine, aber wer soll das wofür empfangen? -
@Homoran sagte: wer soll das wofür empfangen?
Historisieren lässt sich das, aber ich habe keine Ahnung, ob Grafana daraus einen Chart mit Wert1 erstellen kann.
@paul53 sagte in Datenbank mit mehr als einem "_value" - Feld:
Historisieren lässt sich das
Ja!
aber ob @dgr das so haben will hat er immer noch nicht gesagt. -
@paul53 sagte in Datenbank mit mehr als einem "_value" - Feld:
Historisieren lässt sich das
Ja!
aber ob @dgr das so haben will hat er immer noch nicht gesagt. -
Ich habe mittels Blockly eine Ausgabe erstellt, die unter _value einen Text und einen zugehörigen Wert enthält (für influxdb und grafana). Diese Datenbank würde ich gerne nach dem Wert sortieren. Da aber dort auch der Text mit enthalten ist, funktioniert das nicht.
Gibt es eine Möglichkeit zwei Felder _value anzulegen, eins für den Text und das andere soll den zugeordneten Wert enthalten?Was willst du am Ende eigentlich erreichen.
Nicht das dein angenommener Lösungsweg schon in die falsche Richtung geht?In Datenbanken hält man Datentypen eigentlich in unterschiedlichen Feldern. Im rahmen einer Abfrage kann man dann das gewünschte Ergebnis als Datensatz bzw. als Liste von Datensätzen erhalten.
Man kann zwar komplexere Datentypen in ein datenbankfeld zwar schreiben. Wenn du da aber auf Teile Datenbank Operationen ausführen willst (sortieren,gruppieren,filtern) dann nimmst dander Datenbank die Möglichkeit das zu interpretieren. Zudem muss die Datenbank jeden einzelnen Datensatz interpretieren, was aber wieder Performance kostet. Wenn ein datenbankfeld aus einem der Datentypen besteht, die diese versteht, kann sie sich im Hintergrund optimieren und entsorgende Indexe anlegen, mit der es sehr schnell geht datenbankoperationen durchzuführen.
Ansonsten muss sie uU alle Datensätze einzeln durchgehen und interpretieren was enorm viel Zeit in Anspruch nehmen kann.Wenn Du genau schreibst was am Ende herauskommen soll, könnte man Dir eine Lösung vorschlagen, die am wenigsten Probleme verursacht.
-
Ich habe mal angefangen mit Array (sinnlose Testdaten):

In Influx sieht es dann so aus:

Nun muss ich mal sehen, was ich damit anfangen kann.
@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
was ich damit anfangen kann.
wahrscheinlich nichts, solange du uns nicht sagst worauf du hinaus willst
-
Was willst du am Ende eigentlich erreichen.
Nicht das dein angenommener Lösungsweg schon in die falsche Richtung geht?In Datenbanken hält man Datentypen eigentlich in unterschiedlichen Feldern. Im rahmen einer Abfrage kann man dann das gewünschte Ergebnis als Datensatz bzw. als Liste von Datensätzen erhalten.
Man kann zwar komplexere Datentypen in ein datenbankfeld zwar schreiben. Wenn du da aber auf Teile Datenbank Operationen ausführen willst (sortieren,gruppieren,filtern) dann nimmst dander Datenbank die Möglichkeit das zu interpretieren. Zudem muss die Datenbank jeden einzelnen Datensatz interpretieren, was aber wieder Performance kostet. Wenn ein datenbankfeld aus einem der Datentypen besteht, die diese versteht, kann sie sich im Hintergrund optimieren und entsorgende Indexe anlegen, mit der es sehr schnell geht datenbankoperationen durchzuführen.
Ansonsten muss sie uU alle Datensätze einzeln durchgehen und interpretieren was enorm viel Zeit in Anspruch nehmen kann.Wenn Du genau schreibst was am Ende herauskommen soll, könnte man Dir eine Lösung vorschlagen, die am wenigsten Probleme verursacht.
Ja, gute Frage.
Anfangs wollte ich nur das Problem ganz oben mit der Sortierung lösen. Das wäre aber eher unwichtig, verweist aber auf ein Problem, auf das ich schon vor längerer Zeit gestoßen war.
Letztlich sollen zum Schluß in Grafana Daten angezeigt werden, die nicht nur den Wert, sondern auch selbst hinzugefügte Informationen beinhalten. Diese sollen sie bereits aus iobroker mitbekommen haben.
Es ist gut möglich, dass dafür iobroker/influxdb/Grafana grundsätzlich nicht ausgelegt sind. -
Ja, gute Frage.
Anfangs wollte ich nur das Problem ganz oben mit der Sortierung lösen. Das wäre aber eher unwichtig, verweist aber auf ein Problem, auf das ich schon vor längerer Zeit gestoßen war.
Letztlich sollen zum Schluß in Grafana Daten angezeigt werden, die nicht nur den Wert, sondern auch selbst hinzugefügte Informationen beinhalten. Diese sollen sie bereits aus iobroker mitbekommen haben.
Es ist gut möglich, dass dafür iobroker/influxdb/Grafana grundsätzlich nicht ausgelegt sind.@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
Letztlich sollen zum Schluß in Grafana Daten angezeigt werden, die nicht nur den Wert, sondern auch selbst hinzugefügte Informationen beinhalten
bei einer Datenbank könnte ich dem noch halbwegs folgen, mit Grafana ist zwar sehr mächtig, damit kenne ich mich nicht aus, aber wie stellst du dir vor die Zusatzinformationen in einem Chart darstellen zu können.
@oliverio
alter Editeur 😉das stand doch eben noch nicht alles da!?
-
Ja, gute Frage.
Anfangs wollte ich nur das Problem ganz oben mit der Sortierung lösen. Das wäre aber eher unwichtig, verweist aber auf ein Problem, auf das ich schon vor längerer Zeit gestoßen war.
Letztlich sollen zum Schluß in Grafana Daten angezeigt werden, die nicht nur den Wert, sondern auch selbst hinzugefügte Informationen beinhalten. Diese sollen sie bereits aus iobroker mitbekommen haben.
Es ist gut möglich, dass dafür iobroker/influxdb/Grafana grundsätzlich nicht ausgelegt sind.@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
Ja, gute Frage.
Anfangs wollte ich nur das Problem ganz oben mit der Sortierung lösen. Das wäre aber eher unwichtig, verweist aber auf ein Problem, auf das ich schon vor längerer Zeit gestoßen war.
Letztlich sollen zum Schluß in Grafana Daten angezeigt werden, die nicht nur den Wert, sondern auch selbst hinzugefügte Informationen beinhalten. Diese sollen sie bereits aus iobroker mitbekommen haben.
Es ist gut möglich, dass dafür iobroker/influxdb/Grafana grundsätzlich nicht ausgelegt sind.Also du willst ein Diagramm haben (Linie, kuchen, Balken?)
Dort soll in einer Zeitreihe? Werte aufgelistet werden.
Zu jedem datenpunkt sollen noch zusatzinformationen als Text? Angezeigt werden?Datenpunkte auf Zeitabschnittkönnen es ja sehr viele sein. uU mehrere pro Minute. Dank daran, das der Text ja da auch mit dazu muss. Kann man das noch ansehen?
-
@DGR sagte in Datenbank mit mehr als einem "_value" - Feld:
Letztlich sollen zum Schluß in Grafana Daten angezeigt werden, die nicht nur den Wert, sondern auch selbst hinzugefügte Informationen beinhalten
bei einer Datenbank könnte ich dem noch halbwegs folgen, mit Grafana ist zwar sehr mächtig, damit kenne ich mich nicht aus, aber wie stellst du dir vor die Zusatzinformationen in einem Chart darstellen zu können.
@oliverio
alter Editeur 😉das stand doch eben noch nicht alles da!?
-
@OliverIO sagte in Datenbank mit mehr als einem "_value" - Feld:
manche Gedanken entstehen iterativ
frei nach dem Motto:
wie soll ich wissen was ich denke, bevor ich lese was ich schreibe 😉kenn ich!
aber beim nächsten Mal bitte nicht editieren, während ich am Tablet versuche, den im quote versteckten Satz mit dem dicken Finger zu markieren :joy: