Grafana Auswertung von Daten aus IOBroker

hammond

Benutzer
Mitglied seit
21. Apr 2013
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Hallo,
ich speichere Daten von IOBroker in einer MariaDB. Diese möchte ich mit Grafana (Version: Grafana v11.2.0 (2a88694fd3)) auswerten. Dabei habe ich folgendes Problem:
Die Daten sind in der Tabelle ts_number in der Spalte val gespeichert. Der dazu von IOBroker gesendete Timestamp sitzt in der Spalte ts und ist 13-stellig (ms)!

ts_Number.png

Bei einer Grafana Abfrage (Format: "Time Series") erhalte ich die Meldung: Status: 500. Message: db has no time column: no time column found

1728029409309.png

Mache ich die gleiche Abfrage im Format: Tabelle, erhalte ich das Ergebnis:

1728029650737.png
Anmerkung: In der Tabelle habe ich die Spalte ts transformiert:
1728029946306.png

Bei einer Eingrenzung des Datumsbereiches
z.B.: Befehl: SELECT val FROM Strom.ts_number where ((ts between $__timeFrom() AND $__timeTo()) AND (id=1))
bekomme ich keine Fehlermeldung, aber auch keine Daten.

Ich bin Grafana Beginner, was mache ich falsch? Kann das Timestamp Format mit 13 Stellen Probleme machen? Wie kann ich einen Graphen darstellen?

Danke im Voraus für eure Tipps.
 
Zuletzt bearbeitet:

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.476
Punkte für Reaktionen
1.087
Punkte
194
Kleiner Tipp: Mach es mit InfluxDB. Auf YouTube findest du dann auch passende Muster-Konfigurationen zum Nachbauen.
 
  • Like
Reaktionen: Bx99

Bx99

Benutzer
Mitglied seit
09. Okt 2023
Beiträge
13
Punkte für Reaktionen
5
Punkte
3
Gleicher Gedanke. InfluxDB ist für Dein Vorhaben besser geeignet.
 
Zuletzt bearbeitet von einem Moderator:

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.160
Punkte für Reaktionen
407
Punkte
393
Hallo,
Influx oder mariadb ist erstmal egal (influx ist bei Zeitreihen wesentlich schneller), Dein Zeitstempel wird nicht erkannt und kann auch nicht transformiert werden. Der Timestamp muss in Sekunden vorliegen. Definiere eine neue Spalte und Speicher dort in Sekunde (10stellig).

Gruß Götz
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.476
Punkte für Reaktionen
1.087
Punkte
194
Den Unix-Timestamp sollte man konvertieren können. Notfalls ginge das auch über einen separaten View, den man in MySQL/MariaDB speichert.
Aber wie gehabt: ich würde hier generell mit InfluxDB arbeiten
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat