Leider wirft:
select math(difference(*) *0.2794) from (Select last(*) from "TS00128" WHERE time > now() - 2d GROUP BY time(1d) limit 2)
den Fehler:
"InfluxDB Error: undefined function math()"
Ich glaube allmählich, dass der Ansatz hier mittlerweile fast nur noch akademischen Wert hat. Das ist ja nicht wirklich intuitiv. Zudem muss man die Query dafür ja echt manuell editieren und kann nicht mit dem integrierten Query-Builder arbeiten.
In einem eigenständigen Dashboard mit dem über den Picker ausgewählten Begriff "Yesterday" und dem auf "1d" gesetzten Intervall und der über den Querybuilder ausgewählten Math-Option klappt das dann vergleichsweise einfach. Aber eben mit dem Nachteil, dass ich die dynamischen Vergleichszahlen nur über ein separates Dashboard bekomme.
Beste Grüße
Jens
NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2
Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074
Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117
NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2
Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074
Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117
NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs
[Frage] [V1.6.0RC6] Nutzung von Variablen in Grafana Parallelinstanz [v7.2.2]
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
-
- Reactions:
- Beiträge: 2323
- Registriert: Sa Sep 15, 2018 10:26 am
- Wohnort: Kerpen
- Hat sich bedankt: 898 Mal
- Danksagung erhalten: 700 Mal
-
- Reactions:
- Beiträge: 3614
- Registriert: So Aug 12, 2018 10:20 am
- Hat sich bedankt: 1272 Mal
- Danksagung erhalten: 1674 Mal
Wie sehen denn dann die Klick SQL aus. Die dann per Hand geschrieben hart codiert, lässt dann ggf auch unterschiedliche Zeitbezüge in einem Dashboard zu.
So ist es aber immer, KlickKlack ist einfach und etwas begrenzt, direkter Eingriff in den Code ermöglicht dann viel mehr. SQL ist schon eine mächtige Sprache aber ja nicht jeder Datenbanktyp unterstützt alle Funktionen oder hat eine gewisse Dialektik / Semantik.
So ist es aber immer, KlickKlack ist einfach und etwas begrenzt, direkter Eingriff in den Code ermöglicht dann viel mehr. SQL ist schon eine mächtige Sprache aber ja nicht jeder Datenbanktyp unterstützt alle Funktionen oder hat eine gewisse Dialektik / Semantik.
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
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
-
- Reactions:
- Beiträge: 1884
- Registriert: Di Okt 09, 2018 9:26 am
- Hat sich bedankt: 639 Mal
- Danksagung erhalten: 775 Mal
Ich lag wahrscheinlich mit der Vermutung "math" zu benutzen auch falsch, das wäre notwendig bei KlickKlack, aber bei SQL wohl nicht. Also versteh ich auch nicht, warum Dein Weg nicht ging, aber Du könntest noch ausprobieren - wenn Du noch magst - die Multiplikation im ersten Teil, also bei Select last (*) ... einzubringen...
Nur als eine Idee. Aber mir wäre nicht klar, warum das eine Änderung bringen soll.
Nur als eine Idee. Aber mir wäre nicht klar, warum das eine Änderung bringen soll.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK
-
- Reactions:
- Beiträge: 901
- Registriert: So Aug 12, 2018 9:12 am
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 240 Mal
blaubaerli hat geschrieben: ↑Mi Okt 28, 2020 10:24 pm Leider wirft:
select math(difference(*) *0.2794) from (Select last(*) from "TS00128" WHERE time > now() - 2d GROUP BY time(1d) limit 2)
den Fehler:
Hallo Jens,
select test_sum_Val * 0.2794 from (select difference(*) as test from (Select sum(*) from "TS00018" WHERE time > now() - 2d GROUP BY time(1d) limit 2))
MfG Juri
TWS 2400 ID: 69 + PBM ID: 728 + TP-UART, VPN offen, Reboot erlaubt
-
- Reactions:
- Beiträge: 2323
- Registriert: Sa Sep 15, 2018 10:26 am
- Wohnort: Kerpen
- Hat sich bedankt: 898 Mal
- Danksagung erhalten: 700 Mal
Hi Juri,
super Ansatz! Für meine Lösung nun adaptiert:
select test_last_Val * 0.2794 from (select difference(*) as test from (Select last(*) from "TS00123" WHERE time > now() - 2d GROUP BY time(1d) limit 2))
Dabei ist in der TS00123 dann als Rohdaten der mit jedem Puls steigende neue Zählerstand.
Aber gestern habe ich dann mit Hilfe des Query-Analysers den nächsten Klopfer gefunden
Hier mal die Dateninfo zu der o.g. Query:
Man achte auf die Uhrzeit. Nun habe ich gestern Nacht so lange rumgezaubert, dass ich um kurz nach Mitternacht die Query aufgerufen habe. Der Effekt: In der Zeitspanne zwischen 00:00 und 01:00 schießt die Abfrage allen ernstes daneben.
Nicht das ich jetzt grundsätzlich zischen 00:00 und 01:00 verlässlich die Info bräuchte wieviel es am Vortag geregnet hat, aber damit hat der Ansatz zumindest diese technische Schwäche. Und so richtig intuitiv.....
Wenn ich mir den Standardweg von Grafana anschaue, dann ist die Basis da ja recht einfach zusammenklickbar. Im Timepicker "Yesterday" und in den "Query options" als "Min intervall" "1d" eingetragen. Dann sieht das mit der im Querybuilder zusammengeklickten Abfrage dann so aus:
Über den Query-Analyser sehe ich dann, was Grafana daraus zaubert:
Also da rechnet sich Grafana konkret die richtigen Zeiten zurecht und geht dann damit an die Influx-DB und bekommt auch (heute früh geprüft) gesichert in der Zeit zwischen 00:00 und 01:00 die korrekten Ergebnisse.
Dazu dann mal folgende Screenshots vom "www.epochconverter.com"
und D.h. Grafana greift da noch korrigierend ein und berücksichtigt Zeitzonen, etc.
Aber wenn ich den Komfort beim Bau der Queries haben will dann kann ich eben die statischen und dynamischen Elemente nicht einfach mischen.
Damit wären wir ja auch wieder beim Basisthema des Threads angekommen... Ich hatte ja ursprünglich die Hoffnung, dass ich mir irgendwie die für die zeitlich Abgrenzung erforderlichen beiden Uhrzeitwerte völlig losgelöst in einer Variablen zusammenbauen kann, also irgendwie in der Art:
Zielvariable1=Today():Formatangabe
Zielvariable2=Today()-1d:Formatangabe
Aber das scheint wohl nicht wirklich zu gehen.
Aber ehrlich, ich bin schon mal sehr zufrieden mit dem erreichten Stand. Ohne eure Hilfe wäre ich ja nie und nimmer soweit gekommen.
Besten Dank dafür.
Beste Grüße
Jens
super Ansatz! Für meine Lösung nun adaptiert:
select test_last_Val * 0.2794 from (select difference(*) as test from (Select last(*) from "TS00123" WHERE time > now() - 2d GROUP BY time(1d) limit 2))
Dabei ist in der TS00123 dann als Rohdaten der mit jedem Puls steigende neue Zählerstand.
Aber gestern habe ich dann mit Hilfe des Query-Analysers den nächsten Klopfer gefunden
Hier mal die Dateninfo zu der o.g. Query:
Man achte auf die Uhrzeit. Nun habe ich gestern Nacht so lange rumgezaubert, dass ich um kurz nach Mitternacht die Query aufgerufen habe. Der Effekt: In der Zeitspanne zwischen 00:00 und 01:00 schießt die Abfrage allen ernstes daneben.
Nicht das ich jetzt grundsätzlich zischen 00:00 und 01:00 verlässlich die Info bräuchte wieviel es am Vortag geregnet hat, aber damit hat der Ansatz zumindest diese technische Schwäche. Und so richtig intuitiv.....
Wenn ich mir den Standardweg von Grafana anschaue, dann ist die Basis da ja recht einfach zusammenklickbar. Im Timepicker "Yesterday" und in den "Query options" als "Min intervall" "1d" eingetragen. Dann sieht das mit der im Querybuilder zusammengeklickten Abfrage dann so aus:
Über den Query-Analyser sehe ich dann, was Grafana daraus zaubert:
Also da rechnet sich Grafana konkret die richtigen Zeiten zurecht und geht dann damit an die Influx-DB und bekommt auch (heute früh geprüft) gesichert in der Zeit zwischen 00:00 und 01:00 die korrekten Ergebnisse.
Dazu dann mal folgende Screenshots vom "www.epochconverter.com"
und D.h. Grafana greift da noch korrigierend ein und berücksichtigt Zeitzonen, etc.
Aber wenn ich den Komfort beim Bau der Queries haben will dann kann ich eben die statischen und dynamischen Elemente nicht einfach mischen.
Damit wären wir ja auch wieder beim Basisthema des Threads angekommen... Ich hatte ja ursprünglich die Hoffnung, dass ich mir irgendwie die für die zeitlich Abgrenzung erforderlichen beiden Uhrzeitwerte völlig losgelöst in einer Variablen zusammenbauen kann, also irgendwie in der Art:
Zielvariable1=Today():Formatangabe
Zielvariable2=Today()-1d:Formatangabe
Aber das scheint wohl nicht wirklich zu gehen.
Aber ehrlich, ich bin schon mal sehr zufrieden mit dem erreichten Stand. Ohne eure Hilfe wäre ich ja nie und nimmer soweit gekommen.
Besten Dank dafür.
Beste Grüße
Jens
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Reactions:
- Beiträge: 901
- Registriert: So Aug 12, 2018 9:12 am
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 240 Mal
Hallo Jens,blaubaerli hat geschrieben: ↑Do Okt 29, 2020 9:50 pm
Aber gestern habe ich dann mit Hilfe des Query-Analysers den nächsten Klopfer gefunden
29-10-_2020_21-10-13.jpg
Man achte auf die Uhrzeit. Nun habe ich gestern Nacht so lange rumgezaubert, dass ich um kurz nach Mitternacht die Query aufgerufen habe. Der Effekt: In der Zeitspanne zwischen 00:00 und 01:00 schießt die Abfrage allen ernstes daneben.
Nicht das ich jetzt grundsätzlich zischen 00:00 und 01:00 verlässlich die Info bräuchte wieviel es am Vortag geregnet hat, aber damit hat der Ansatz zumindest diese technische Schwäche. Und so richtig intuitiv.....
die beiden SQl-Statements, siehe unten, liefern den gleichen Wert zurück, also sind sie richtig und es liegt nicht an der SQL-Abfrage
hartkodierte Datumsangabe
Select sum(*) from "TS00018" WHERE time >= '2020-10-29T00:00:00Z' AND time < '2020-10-29T23:59:59Z' GROUP BY time(1d)
dynamisch abgeleitete Datumsangabe
select last(*) from (Select sum(*) from "TS00018" WHERE time > now() - 2d GROUP BY time(1d) limit 2)
sondern, das ist nur meine Vermutung, liegt es an der grafanaspezifischen Dashboard-Einstellung "Timezone".
Wahrscheinlich hast du "Default" drin, muss aber "UTC" sein.
Timezone "Default" Timezone "UTC" MfG Juri
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
TWS 2400 ID: 69 + PBM ID: 728 + TP-UART, VPN offen, Reboot erlaubt
-
- Reactions:
- Beiträge: 2323
- Registriert: Sa Sep 15, 2018 10:26 am
- Wohnort: Kerpen
- Hat sich bedankt: 898 Mal
- Danksagung erhalten: 700 Mal
Hi Juri,
ich sehe schon, du bist da ja echt fitt. Ich komme allerdings frühestens morgen abend zum vernünftigen Test.
Danke schon mal.
Beste Grüße
Jens
ich sehe schon, du bist da ja echt fitt. Ich komme allerdings frühestens morgen abend zum vernünftigen Test.
Danke schon mal.
Beste Grüße
Jens