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 ...
Ich hoffe, mein Workaround hilft dir zwischenzeitlich weiter.
Viel Spaß beim Ausprobieren,
S. Kolbinger