NEWS
Daten nur einmal täglich in Influxdb schreiben
-
@dieter_p sagte in Daten nur einmal täglich in Influxdb schreiben:
Nein, die Werte werden vom Blockly/Skript s.o. direkt in die Datenbank geschrieben
wie soll flot dann da ran kommen?
Flot greift auf die historischen Daten des Influxdb-Adapters zu.
Wenn da nichts konfiguriert ist, sieht flot auch nichts. -
Zu den influx- Mechanismen kann ich nichts beitragen.
Meine Erfahrung aber ist, daß gerade Energie- und Verbrauchsdaten ein Schatz für Optimierungen darstellen. Und da kommt es nicht nur auf tägliche Energiemengen an, sondern auch auf Leistungen und zeitliche Verläufe.
Deshalb sage ich mir: Alle Daten wegschreiben (gut, bei Smartmeter wird über 30 Sekunden gemittelt), Speicherplatz ist heute billig.
Zusätzlich mache ich Tages-,Wochen-, Monats-, Jahresstatistik, wobei man das mittlerweile wohl auch über fertige Adapter machen lassen kann.Kurzum - Ein Wert pro Tag wäre mir zu wenig. Man kommt immer wieder zu Fragestellungen, wo man gerne mehr Daten hätte.
-
@klassisch said in Daten nur einmal täglich in Influxdb schreiben:
.. Zusätzlich mache ich Tages-,Wochen-, Monats-, Jahresstatistik, wobei man das mittlerweile wohl auch über fertige Adapter machen lassen kann. ..
Hier habe ich dokumentiert, wie ich Tages-, Wochen-, Monats- und Jahreswerte generiere und verwalte.
-
@dieter_p said in Daten nur einmal täglich in Influxdb schreiben:
... Grafana ist da freier bzw. nicht so tief integriert in IObroker ..
Das mag ich einfach nicht glauben. Der Adapter verwendet doch ebenfalls bloß sendTo. Vielleicht erwartet Flot sog. Metadaten, die ich in meinem Beispiel nicht schreibe.
Wenn du dir genauer ansehen möchtest, was man sendTo übergeben kann, schau dir diese Anleitung auf GitHub an.
Vorsicht! Der Beispielcode enthält noch immer Fehler. In den Adapterbezeichnungen steht history statt influxdb. Auch ist im erste Beispiel die Klammersetzung falsch: statt eckige Klammern [..] müssen geschweifte {..} verwendet werden, schließlich wird hier ein Objekt übergeben.
-
@legro said in Daten nur einmal täglich in Influxdb schreiben:
@dieter_p said in Daten nur einmal täglich in Influxdb schreiben:
... Grafana ist da freier bzw. nicht so tief integriert in IObroker ..
Das mag ich einfach nicht glauben. Der Adapter verwendet doch ebenfalls bloß sendTo. Vielleicht erwartet Flot sog. Metadaten, die ich in meinem Beispiel nicht schreibe.
So wie @homoran es schreibt. Flot funktioniert nicht ohne die influxdb Instanz bzw. IOBroker. Grafana ist das völlig egal und guckt direkt in die dB.
Hier mal das Auswahlmenü von Flot:
Aber am Ende ist es halt so, wie es ist und ich komme damit zu recht. Sonstige Lösungen wären aufwendiger, haben Lücken oder gefallen mir wie Grafana eingebettet im VIS auf Grund der benötigten Ladezeit nicht. Insofern die Werte per Query wieder manuell aus der dB holen und alles tip top!
-
@legro natürlich sind die Daten jetzt wahrscheinlich korrekt in der Datenbank (mit sendTo).
@Dieter_P aber zum rausholen benötigt flot Zugriff auf den Datenpunkt. und das geht über den influxdb-Adapter sowie einen konfigurierten Datenpunkt dafür.
und zwar der DP muss konfiguriert werden unter dessen ID der Wert direkt in die InfluxDB geschrieben wurde.
Dann wird flot auch die am Adapter vorbei geschriebenen Werte sehen!Wo ist denn das Problem?
-
@dieter_p sagte in Daten nur einmal täglich in Influxdb schreiben:
Hier mal das Auswahlmenü von Flot:
und wo ist der DP ausgewählt?
oder soll flot die Werte aller IDs auf einmal darstellen? -
@dieter_p said in Daten nur einmal täglich in Influxdb schreiben:
.. Ob es Sinn macht diesen in IObroker anzulegen und für influx zu konfigurieren ohne dass der DP etwas schreibt also nur damit er "bekannt" ist, scheitert daran das er nur mit der ID: "gasTag" im root Verzeichnis liegen müßte, ob man das tun sollte, weiß ich nicht. ..
Die IDs vom InfluxDB-Adapter und sendTo müssen doch vermutlich bloß gleich lauten. Also anstelle „gasTag“ die (sehr lange) ID eintragen, die der Adapter generiert und schon sollte doch alles funktionieren.
Aber wenn bereits alles zu deiner Zufriedenheit funktioniert, ist ja alles gut.
-
@legro sagte in Daten nur einmal täglich in Influxdb schreiben:
Die IDs vom InfluxDB-Adapter und sendTo müssen doch vermutlich bloß gleich lauten.
genau das schreibe ich die ganze Zeit
@homoran sagte in Daten nur einmal täglich in Influxdb schreiben:
der DP muss konfiguriert werden unter dessen ID der Wert direkt in die InfluxDB geschrieben wurde.
-
@homoran said in Daten nur einmal täglich in Influxdb schreiben:
Dann wird flot auch die am Adapter vorbei geschriebenen Werte sehen!
Wo ist denn das Problem?
nirgends. Für mich Austausch und Verständnisabgleich warum, was, wie. Nun ist es bestätigt = gemeinsamer Nenner gefunden (jedenfalls aus meiner Sicht).
@legro said in Daten nur einmal täglich in Influxdb schreiben:
Aber wenn bereits alles zu deiner Zufriedenheit funktioniert, ist ja alles gut.
Nö, aber hab das selbst zusammen gewürfeltete Verständnis dank Euch bestätigt bekommen und eine Idee wie ich es löse und somit alles top!
Danke, wie gesagt solche Datenbankbeispiele helfen sehr, wenn man das nicht jeden Tag macht und schnell vergisst. Hab diese Daten aktuell auch nur im produktivsystem und nicht wirklich Lust mit falschen Attacken auf die dB mir das System auf den Rücken zu legen.
-
@dieter_p sagte in Daten nur einmal täglich in Influxdb schreiben:
aber hab das selbst zusammen gewürfeltete Verständnis dank Euch bestätigt bekommen
und das wäre?
ich fürchte nämlich, wir reden immer noch aneinander vorbei.
Was mich dieser Satz leider wieder vermuten lässt:Hab diese Daten aktuell auch nur im produktivsystem und nicht wirklich Lust mit falschen Attacken auf die dB mir das System auf den Rücken zu legen.
-
@dieter_p said in Daten nur einmal täglich in Influxdb schreiben:
.. und eine Idee wie ich es löse und somit alles top!
Und nur darauf kommt‘s letztlich an.
-
@homoran said in Daten nur einmal täglich in Influxdb schreiben:
@dieter_p sagte in Daten nur einmal täglich in Influxdb schreiben:
aber hab das selbst zusammen gewürfeltete Verständnis dank Euch bestätigt bekommen
und das wäre?
ich fürchte nämlich, wir reden immer noch aneinander vorbei.
kann da nichts zu Deinem empfinden sagen. Hier im Beitrag ging es darum manuell per Blockly etwas in eine Datenbank zu schreiben. Das Thema ist schon was länger durch. Ich hab dann Off-Topic erfragt, da es ja meistens mit dem schreiben nicht beendet ist, welche Möglichkeiten wie beim Lesen existieren? Darunter spezifisch auch nach Flot. Für michauch unter dem genannten Aspekt der aufgeführten ID "gasTag" = ungewöhnlich da mir nur IDs vom Adapter bekannt waren.
@legro habe ich so verstanden, dass er keine Erfahrung bzgl. Flot hat und dies gleich zu Grafana sieht. Da ich ihm für sein Beispiel sehr dankbar bin, hab ich ihm kurz den Screenshot von Flot gezeigt und das Flot hier auf die im Adapter angelegten Datenpunkte zugreifen möchte. Ob hier ggf. eine manuelle Anpassung möglich gewesen wäre kann/konnte ich nicht auschließen. Ist aber so bei der gezeigten ID nicht der Fall, wie Ihr bestätigt habt. Also bleibt für mich eine Lösung ohne Adapter oder ich schreibe die bereits gespeicherten Werte mit einer passenderen ID von einem über den Adapter auch nur als Dummy angelegten Datenpunkt um in der dB.Soweit mein Fazit.
Die Dankbarkeit über Beispiele für Datenbankabfragen bleibt, da wenn ich jetzt zu unüberlegt mit InfluxQL Queries lesend auf die Datenbank "schieße" um ganze Monatszeiträume abzufragen, kann das fehlerhaft auch schnell nach hinten losgehen. Gewisse Abfragen erzeugen halt eine gewisse Last und das ist mir mit Grafana beispielsweise auf dem Raspberry schon zu langsam. Deswegen möchte ich gerne zeitgesteuert die Queries einmal täglich ausführen und die Datenpunkte visualisieren. Mag umständlich sein, ist mir aber lieber als jedes mal 1,2 Sekunden auf Grafana etc. zu warten wenn ich es aufrufe und ein Hardwareupgrade deswegen mit höherem Stromverbrauch kommt dafür für mich nicht in die Tüte.
Wie gesagt, für mich viel erfahren, dankbar Beispiele gesehen und genutzt und für weitere Nutzung der Lösungsweg eindeutig klar, somit tip top und noch nett geschwatzt dazu
-
@dieter_p
Danke für die ausführliche Erläuterung.
Im Prinzip bestätigt das meine Vermutung, allerdings gab es für mich eine wichtige Zusatzinformation.Da ich erst ab dem Punkt mit flot "eingestiegen" bin, da ich weder zu Influx noch zum Skript hätte etwas sagen können, war mir nicht bekannt wie die Daten in Influx verwaltet werden und dass diese ohne ID geschrieben wurden.
Ich musste aufgrund der Vorgeschichte davon ausgehen, dass diese zusätzlichen Daten ebenfalls adapterkonform eingetragen wurden.
So ganz habe ich die Hoffnung auch noch nicht aufgegeben, denn wie sonst würden sie sonst zusammen passen.Aber da kann ich dir aus o.a. Gründen leider nicht weiterhelfen.
Und ja!
"Schlimmstenfalls" müsstest du die gewünschten Daten noch einmal mit der DP ID in die Influx schreiben.Bei einer vernünftigen Datenbank sollte da nichts passieten, da IDs und damit Datenreihen Unique sein müssen.
Lediglich die bisher per Skript geschriebenen Daten lägen dann als Datenleichen unnütz in der DB. -
@dieter_p hey, doofe Frage, wo finde ich das Element?
bei SendTo oder Funktionen?
Ich blick das noch nicht -
@cbrocker sagte in Daten nur einmal täglich in Influxdb schreiben:
.. doofe Frage, wo finde ich das Element?
bei SendTo oder Funktionen?Hier habe ich diese Konstruktion doch ausführlich beschrieben. SendTo schreibt über die eigens erstelle JavaScript-Funktion die Daten in InfluxDB. Was fehlt dir noch zum Verständnis?
-
-
@legro mir war da was noch nicht ganz klar, was ich mir aber nochmal genau angeschaut habe. Nun sieht es besser aus. Ich danke dir.
-
@dieter_p ich danke dir für die Tips