Hinweis: Schöne Alternative für Charts/Plots mit Grafana und DBLog (MySQL)

Begonnen von Thyraz, 08 Oktober 2017, 15:02:38

Vorheriges Thema - Nächstes Thema

rob

Hallo Sascha.

Schau Dir mal Post #49 aus diesem Fred an: https://forum.fhem.de/index.php/topic,71551.msg732935.html#msg732935
Das Script von fervor scheint genau das zu können.

VG
rob

sash.sc

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

kadettilac89

#437
Zitat von: sash.sc am 09 Januar 2022, 22:02:47
Hallo zusammen.

Habe grafana mit influxdb an laufen. Habe es auch geschafft, das die ersten devices in die DB schreiben.

Besteht auch die Möglichkeit alte FileLog Dateien im txt Format in die influxdb zu importieren?

Wenn ja, wie?

Gruß und danke
Sascha

Ja, Daten lesen, aufbereiten und in Influx schreiben. Ich habe damals ein Modul für mich geschrieben und auch geteilt. Das liest von MySQL und schreibt in influx. Das kannst für dich erweitern. Oder du migrierst erst nach MySQL und dann sollte es auch mit meinem Modul gehen.

Hat bei mir funktioniert, vorher Backup und so weiter ... könnte ja was schief gehen.

https://forum.fhem.de/index.php/topic,71551.msg838940.html#msg838940

Was anderes ist mir nicht bekannt.

Nachtrag, es gibt ein Wiki zu InfluxDB. Da sind auch ein paar Links zum Thema Altdatenmigration. Vielleicht hift das auch weiter.

https://wiki.fhem.de/wiki/InfluxDBLogger#Migration_von_Altdaten

sash.sc

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

sash.sc

Hallo zusammen.

Jetzt woch ich die normalen Diagramme am laufen habe, wollte ich den Zustand von mehreren Aktoren, die nur 1 oder 0 haben, in einem Diagramm übereinandern darstellen.

Mit SVG hat es geklappt. Siehe Beispielbild.

Wie bekommen ich das in Grafana hin ? Die Daten liegen entsprechen din der influxDB.
Also die Werte 0 und 1. Und je Aktor soll quasi ein offset dazu addiert werden, um das Diagramm "anzuheben".

Gruß und Danke
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

ch.eick

Hallo zusammen,
ich möchte gerne in Grafana die klassische Darstellung einer Heizungskurve abbilden.
Die Abfrage der Kennzahlung aus der MySQL Datenbank wäre dabei für mich eher kein Problem.

Gibt es dazu eventuell eine Grafana Funktion oder ein Plugin?

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

andies

Wo ist da jetzt das Problem? Oder was genau meinst du mit Heizungskurve?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

ch.eick

Zitat von: andies am 03 Februar 2022, 09:32:45
Wo ist da jetzt das Problem? Oder was genau meinst du mit Heizungskurve?
Sorry, das ist missverständlich gewesen. Es geht nicht um die Raum Temperatur über die Zeit :-)

Es geht um die Darstellung mit Steigung und Parrallelverschiebung der Heizungskurve in der Heizungsanlage.
Hierbei werden glaube ich drei Werte angegeben und man kann z.B. ablesen bei welcher Außentemperatur
dann welche Vorlauf Temperatur durch die Heizung gewählt wird.

Es entsteht also eine kurve nach einer mathematischen Formel

Korrekturkurve:
tempk         = -0.39    <<< Steilheit
temp_base = 25       <<< Parallelverschiebung


1 + ($temp - $temp_base) * $tempk / 100
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

andies

OK, du meinst die Heizkurve. Alles klar.

Ich habe keine Ahnung, ob man mathematische Funktionen einfach so plotten kann, mE nicht. Die x-Achse scheint immer zeitbezogen zu sein und bei Dir muss sie ja Außentemperaturbezogen sein, richtig? Eventuell hilft dieser Tip hier, du müsstest das händisch anlegen: https://medium.com/grafana-tutorials/graphing-non-time-series-sql-data-in-grafana-8a0ea8c55ee3
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

ch.eick

Zitat von: andies am 03 Februar 2022, 12:55:07
OK, du meinst die Heizkurve. Alles klar.

Ich habe keine Ahnung, ob man mathematische Funktionen einfach so plotten kann, mE nicht. Die x-Achse scheint immer zeitbezogen zu sein und bei Dir muss sie ja Außentemperaturbezogen sein, richtig? Eventuell hilft dieser Tip hier, du müsstest das händisch anlegen: https://medium.com/grafana-tutorials/graphing-non-time-series-sql-data-in-grafana-8a0ea8c55ee3
Okay, das sieht schonmal gut aus und müsste übertragen werden.
Als Grundlage müsste ich dann mehrere Werte der Kurve berechnen und in die Datenbank schreiben, wodurch die "Linie" beschrieben würde
und im Anschluss, wie im Grafana Beispiel wieder auslesen und plotten lassen, nur hat nicht nach Zeit, sondern nach Temperatur.

Hat sowas schon jemand anderes mal gemacht?
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

sn0000py

Frage - wer verwendet grafana im docker, und hat kürzlichst aktualisiert?

bekomme nun einen fehler beim starten

logger=settings t=2022-02-03T15:55:26.05+0100 lvl=info msg="App mode production"
Failed to start grafana. error: section "tracing.opentelemetry.jaeger" does not exist

section "tracing.opentelemetry.jaeger" does not exist


Ok war einfach - hab in die config.ini einfach
[tracing.opentelemetry.jaeger] dazu gebaut

ch.eick

Zitat von: sn0000py am 03 Februar 2022, 16:27:58
Frage - wer verwendet grafana im docker, und hat kürzlichst aktualisiert?

bekomme nun einen fehler beim starten
Ich würde ja auch gerne mal aktualisieren, aber in meinem Test Container zerschießt es mir die Farben der Diagramme und noch schlimmer auch die Stapelung von den Kurven.
Gibt es da eventuell auch einen Tipp zu?

VG
    Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

kadettilac89

Zitat von: sash.sc am 30 Januar 2022, 12:43:09
Hallo zusammen.

Jetzt woch ich die normalen Diagramme am laufen habe, wollte ich den Zustand von mehreren Aktoren, die nur 1 oder 0 haben, in einem Diagramm übereinandern darstellen.

Mit SVG hat es geklappt. Siehe Beispielbild.

Wie bekommen ich das in Grafana hin ? Die Daten liegen entsprechen din der influxDB.
Also die Werte 0 und 1. Und je Aktor soll quasi ein offset dazu addiert werden, um das Diagramm "anzuheben".

Der Thread geht mehr um Grafana mit MySQL. Du hast InfluxDB. Ich antworte hier mal zu beidem

- MySQL, da gibts die Berechnung einfach in Klammern und dem Spalennamen ... Beispiele hier: https://swcarpentry.github.io/sql-novice-survey/04-calc/index.html
- InfluxDB: da gibts in Grafana die Funktion "math(+ 5)" im Select. Damit hebst du die Linie um 5 an.

Arek

Hallo,

wie kann ich zwei Balken übereinander stapeln? Ich möchte gerne die Kosten des Gas- und Stromverbrauchs (Hybridheizung) gestapelt im Diagramm darstellen. Kann jemand helfen?

SELECT
  UNIX_TIMESTAMP(TIMESTAMP) as time_sec,
  cast(VALUE *0.3321 as float) as value,  "Stromverbrauch" as metric
FROM history
WHERE
  $__timeFilter(TIMESTAMP) AND DEVICE = 'Stromverbrauch' AND ((READING="statEnergie_HeizungDayLast"))

SELECT
  UNIX_TIMESTAMP(TIMESTAMP) as time_sec,
  cast(VALUE *0.0702 as float) as value,  "Gasverbrauch" as metric
FROM history
WHERE
  $__timeFilter(TIMESTAMP) AND DEVICE = 'Gaszaehler' AND ((READING="statGasverbrauchDayLast"))


Schöne Grüße

ch.eick

Zitat von: Arek am 10 Februar 2022, 10:03:32
wie kann ich zwei Balken übereinander stapeln? Ich möchte gerne die Kosten des Gas- und Stromverbrauchs (Hybridheizung) gestapelt im Diagramm darstellen. Kann jemand helfen?
Hallo

Im Diagramm in den EDIT Modus gehen
rechts den Panel Tab auswählen
dort auf Series Overrights gehen
Bei den entsprechenden Aliasen das "Stack:true" aktivieren

Ich meine, die Reihenfolge der Queries entscheidet dabei, was oben und unten ist.

Man kann auch rein optisch einen Gesamt Wert mit gestapelten Einzelwerten überlagert darstellen. Dazu muss man aber die Farbgebung ordentlich auswählen.
Dadurch zeige ich mir z.B. die "Fläche" an, die als Leistung von der PV-Anlage in den Hausspeicher geht.

Gruß
  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick