Hauptmenü

Grafana Anfänge

Begonnen von masterpete23, 14 November 2022, 11:01:25

Vorheriges Thema - Nächstes Thema

masterpete23

Moin,

ich habe mal zum Anschauen einen Grafana und einen mysql Docker container gestartet.
Was funktioniert:
Grafana läuft und ist mit mysql verbunden.
fhem ist mit mysql verbunden.
logdb ist angelegt
Internals:
   CFGFN     
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION ./db.conf
   DEF        ./db.conf .*:.*
   FUUID      63715ee4-f33f-53cd-a8f5-930738d6642c93fb
   FVERSION   93_DbLog.pm:v4.13.2-s26672/2022-11-07
   MODE       synchronous
   MODEL      MYSQL
   NAME       logdb
   NR         6717
   NTFY_ORDER 50-logdb
   PID        3475681
   REGEXP     .*:.*
   STATE      connected
   TYPE       DbLog
   UTF8       0
   dbconn     mysql:database=fhem;host=192.168.0.146;port=3306
   dbuser     fhemuser
   eventCount 3
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   connected
     PACKAGE    main
     READINGCOL 64
     TC         current
     TH         history
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
     VERSION    4.13.2
   READINGS:
     2022-11-13 22:17:24   CacheOverflowLastNum 0
     2022-11-13 22:17:24   CacheOverflowLastState normal
     2022-11-14 10:57:53   state           connected
Attributes:


Ich kann über Grafana Daten auslesen.

Was nicht geht, dass Grafana diese Werte auch erkennt und Graphen erstellt.
Hier mein Versuch:

SELECT TIMESTAMP as time, VALUE as metrics FROM fhem.history WHERE DEVICE = 'Heizung_Kind' LIMIT 50

Fehlermeldung
ZitatData is missing a number field
Bevor ich SELECT TIMESTAMP as time machte, hatte er auch immer die Time angemeckert.

Wie komme ich von dem Schlauch runter auf dem ich stehe?


masterpete23

Danke.

Die Lösung.
Falsch:
SELECT TIMESTAMP as time, VALUE as metrics FROM fhem.history WHERE DEVICE = 'Heizung_Kind' LIMIT 50

Richtig:
SELECT
  UNIX_TIMESTAMP(TIMESTAMP) as time_sec,
Cast(value as decimal(10,1)) as value,
  "Temperatur" as metric
FROM history
WHERE READING="measured-temp" AND DEVICE="Heizung_Kind" AND $__timeFilter(TIMESTAMP)