UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[Gelöst] Grafana Diagrammeinstellung

Diskussionen über Zeitserien, Logging und Auswertung mit Grafana
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS, CometVisu, Grafana, Edomi oder eine andere Software beteiligt ist, dann auch immer deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
Matthias
Reactions:
Beiträge: 77
Registriert: Mi Aug 29, 2018 7:44 pm
Hat sich bedankt: 2 Mal
Danksagung erhalten: 37 Mal

Grafana Diagrammeinstellung

#1

Beitrag von Matthias »

Hallo zusammen,

ich habe mal eine Detailfrage zu den Grafanadarstellungen. Auf dem Screenshot seht Ihr KNX Daten von Schaltern dargestellt.
Bild

Ich würde gerne einstellen, dass die Linien aller Datenlinien nach links und rechts voll mit dem letzten Wert ausgefüllt werden. Bei mir werden die Linien erst ab dem Zeitpunkt dargestellt, wo der erste Datenpunkt innerhalb des ausgewähltem Zeitraum liegt.

Kann mir jemand sagen ob/wie dies möglich ist?

Danke Gruß

Matthias
----------------------------------------------------------------------------------------------
Wiregate Fan / Timberwolf Server 2500 + PBM / reboot erlaubt / VPN offen
Timberwolf Server 153 © 2021 – 3.0 Insider Preview 2

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#2

Beitrag von S. Kolbinger »

Hallo Matthias,

für diese Form der Grafik suche ich auch schon seit längerem die optimale Lösung.
Leider habe ich diese bisher noch nicht gefunden.

Die Ursache für diese Anzeige liegt in der Funktionsweise von Grafana.
Grafana sendet eine Anfrage an die Datenbank, nur Werte innerhalb des ausgewählten Zeitfensters zu schicken.
Somit hat Grafana keine Ahnung, was vor oder nach dem Zeitfenster passiert, und zeigt aus diesem Grund auch nichts vor dem ersten Wert im Zeitfenster und auch nichts nach dem letzten Wert im Zeitfenster an.

Um deine Grafik der Schaltereignisse schön anzuzeigen, müsste man die Linie vom letzten Wert aus nach rechts verlängern.
Aber bei der linken Seite wird es schon etwas komplizierter. Da kann man die Linie nicht so einfach verlängern.
Wenn nur Zustandsänderungen auf den Bus geschickt werden, war ja der Schaltzustand bis zum ersten Wert genau invertiert zu diesem Wert.
Wenn gleiche Zustandswerte auch mehrfach hintereinander geschickt werden können, kann man nur raten wie die korrekte Anzeige aussehen müsste.

Im Prinzip bräuchte man, um das ganze Zeitfenster korrekt anzuzeigen, den letzten Wert vor und den ersten Wert nach dem Zeitfenster.
Leider habe ich dafür noch keine allgemeingültige Query gefunden.
Ich möchte dir aber meinen "quick and dirty" Workaround nicht vorenthalten:

Ursprüngliche Query:
SELECT "Val" FROM "KNX_LINE1" WHERE ("GA" = '24/4/203') AND $timeFilter

Workaround Query:
SELECT "Val" FROM "KNX_LINE1" WHERE ("GA" = '24/4/203') AND time > now() - 1w and time < now() limit 1000

Der Trick ist, den Abfragezeitraum, der bei Grafana in der Variablen $timeFilter gegeben ist, zu verändern.
Dadurch werden auch Werte außerhalb des Zeitfensters zurückgeliefert und Grafana zeigt die Linien richtig an.
Den Zeitraum kann man sich natürlich entsprechend anpassen.
Diese Query lässt sich aber nur eingeben, wenn man mittels "Toggle Edit Mode", die textbasierte Eingabe verwendet.
Vorsicht: Wenn du wieder auf Maskeneingabe zurück änderst, kann das nicht mehr dargestellt werden und du verlierst deine Eingabe.

Vielleicht lässt sich das auch ganz elegant mittels eigenem Grafana-Plugin lösen, aber dafür fehlte mir bisher die Zeit.
Aber falls sich schon jemand im Forum mit diesen Plugins beschäftigt hat ... :bow-yellow:

Ich hoffe, mein Workaround hilft dir zwischenzeitlich weiter.
Viel Spaß beim Ausprobieren,
S. Kolbinger
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruß,
Stefan K.

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#3

Beitrag von gbglace »

Wie frei ist man denn in der Gestaltung der SQL? Gehen da quasi Subselects usw.?
Wenn ja dann ein Subselect für den Start Punkt des Zeitintervalls bauen in dem der Zeitstempel des letzten Eintrags vor Zeitintervall selektiert wird. Oder in einem Union diesen einen Wert selbst ergänzen.

Plugins sind ja noch ein offener Punkt, weil man da ja erst noch Zugriff auf die TWS Konsole benötigt. Nen Docker mit Zugriff auf die DB und eigener Grafanainstanz, kann ich nicht.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Ersteller
Matthias
Reactions:
Beiträge: 77
Registriert: Mi Aug 29, 2018 7:44 pm
Hat sich bedankt: 2 Mal
Danksagung erhalten: 37 Mal

#4

Beitrag von Matthias »

Hi S. Kolbinger

vielen Dank für den Tipp. Funktioniert super....

Gruß

Matthias
----------------------------------------------------------------------------------------------
Wiregate Fan / Timberwolf Server 2500 + PBM / reboot erlaubt / VPN offen
Timberwolf Server 153 © 2021 – 3.0 Insider Preview 2

cheater
Reactions:
Beiträge: 610
Registriert: Sa Aug 11, 2018 11:16 pm
Hat sich bedankt: 381 Mal
Danksagung erhalten: 274 Mal

#5

Beitrag von cheater »

Hi, ich habe ein ähnliches Problem und zwar möchte ich gerne in einer Grafik die Raumtemperatur, den Stellwert des Ventils und die Solltemperatur anzeigen.
Jetzt wird die Solltemperatur aber nur bei Änderung gesendet. Gibt es trotzdem eine Möglichkeit den Sollwert durchgehend (in die Zukunft) anzuzeigen?
Grüße, Dominic

Timberwolf 2400 #126, VPN offen, Reboot nach Absprache

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#6

Beitrag von gbglace »

Nicht unbedingt elegant, zyklisch senden.

Oder das Systemverhalten ist dann mal anders, wenn nicht aus dem Bus-Log gelesen sondern direkt aus dem Timberwolf KNX-Objekt gelesen wird. Dazu fehlt aber noch die Funktion für KNX-Objekte eine eigene Timeseries anzulegen. Oder ergibt sich das Darstellungsproblem auch für selten gesendete 1-wire Sensorwerte, bei denen werden ja die TWS-Objekte zum visualisieren gelesen.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

StefanW
Elaborated Networks
Reactions:
Beiträge: 9689
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4831 Mal
Danksagung erhalten: 7633 Mal
Kontaktdaten:

#7

Beitrag von StefanW »

Nun, Grafana soll keine Werte erfinden die nicht da sind, also erscheinen eben die Linien nur dort, wo es auch Werte gibt. Das mag Visuell nicht so schön sein, ist aber auch nicht ganz falsch.

Ich verstehe aber schon auch, dass der letzte Wert einfach nur grafisch fortgeschrieben werden sollte, damit das einheitlich aussieht. Womöglich sollte man das als Feature Request bei Grafana einreichen. Weil dann kommt es in das produkt und das ist das sinnhafteste, sofern niemand die Option noch findet, mit der sich das einstellen läßt.


Pladoyer für zyklisches Senden:

Zum Thema Zyklisch senden: Ich fände es sehr elegant, wichtige Werte stehts zyklisch zu senden. Weil Telegramme können auch mal verloren gehen, ein Teilnehmer mal abgesteckt sein. Durch solche zyklischen Telegramme alle 10 Minuten "reparieren" sich Dinge dann wie von selbst, wenn es mal eine Störung / Aussetzer usw. gab.

Selbst wenn man sechshundert Werte zyklisch alle 10 Minuten senden läßt, würde das nur (600 / 60*10 = 1) zu einem Telegramm pro Sekunde mehr führen, also 2,5% der verfügbaren Kapazität des Busses beanspruchen. Das kann man also durchaus so einrichten, die Kapazität ist dafür gegeben.

Selbst der eigentlich sehr langsame KNX Bus kann am Tag ca. 3600 * 24 * 40 = 3,4 Millionen Telegramme (ca. 100 MByte) übertragen. Da muss man nicht sparen.

Darum empfehle ich: Alle Werte auch zyklisch alle 10 bis 30 Minuten zu senden. Das schafft Klarheit am Bus und ermöglicht Selbstheilungskräfte.

lg
Zuletzt geändert von StefanW am So Nov 04, 2018 6:28 pm, insgesamt 1-mal geändert.
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

tger977
Reactions:
Beiträge: 740
Registriert: So Aug 12, 2018 9:25 am
Hat sich bedankt: 205 Mal
Danksagung erhalten: 274 Mal

#8

Beitrag von tger977 »

StefanW hat geschrieben: So Nov 04, 2018 6:28 pm
Pladoyer für zyklisches Senden:
Hallo Stefan,

sorry davon halte ich aber nicht wirklich viel.

KNX ist ein Eventbasierter Bus, kein zeitbasierter Bus. Und warum soll ich mir sämtliche Logs, Datenbanken, etc. so zumüllen mit Werten die keinerlei weitere Aussagefähigkeit haben? Ich glaube bei mir ist auf dem Bus noch nicht wirklich viel verloren gegangen, da steht das zyklische Senden in keinem sinnhaften Verhältnis. Ausserdem werden ggf. mit sovielen zusätzlichen Werten auf dem Bus unnötig Logiken getriggert und gerechnet (bei mir z.B. in EDOMI). Und das Anzeigeproblem in Grafana ist aus meiner Sicht anderweitig zu lösen. Da sollte man eher einfach den jeweils vorgängerwert der gerade nicht mehr in dem angefragten Zeitintervall drin ist mit auslesen, dann kann man da auch interpolieren, verlängern,... und der Graph sieht sauber aus. Und nach hinten kann man entweder ebenfalls den letzten Wert auslesen oder eben einfach bis zum heutigen Zeitpunkt "verlängern" (da sich dann ja am Zustand auch nichts geändert hat). Diese Änderung wäre vmtl. wie von Dir geschrieben eher als Feature für Grafana sinnvoll.

Btw: sehr gut ist das genau so in EDOMI gelöst, da kann man dies per Option alles einstellen und die Grafiken sind absolut sauber dargestellt.
Zuletzt geändert von tger977 am So Nov 04, 2018 6:58 pm, insgesamt 2-mal geändert.
Gruß
Andi

TW2500 #440 (ex Timberwolf 2400 #111) mit PBM #124, Support VPN nur auf Anfrage, Reboot bitte nur nach Absprache

DeLaDope
Reactions:
Beiträge: 245
Registriert: Mo Sep 03, 2018 2:26 pm
Hat sich bedankt: 122 Mal
Danksagung erhalten: 97 Mal

#9

Beitrag von DeLaDope »

...sehr guter Hinweis! Danke!
TWS 2500 ID:134 + 2 x PBM ID:833/789, VPN offen, Reboot nach Rücksprache

StefanW
Elaborated Networks
Reactions:
Beiträge: 9689
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4831 Mal
Danksagung erhalten: 7633 Mal
Kontaktdaten:

#10

Beitrag von StefanW »

tger977 hat geschrieben: So Nov 04, 2018 6:52 pmBtw: sehr gut ist das genau so in EDOMI gelöst, da kann man dies per Option alles einstellen und die Grafiken sind absolut sauber dargestellt.
Unsere Empfehlungen zum zykl. Senden geben wir als Hersteller aus gutem Grund. Muss jeder selber entscheiden, ob er dem folgen will.


Bei den vom System eingestellten Grafiken der Timeseries ist das mit "Auto-Zoom" übrigens auch so gelöst. Da werden die letzten Werte herausgesucht und im fraglichen Zeitraum gezoomt, dass man immer eine klare Linie hat. Wenn man dann von dort Grafana aufruft, bekommt man es auch so

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Antworten

Zurück zu „Zeitserien, Logging & Grafana“