NEWS
[Hilfe] Binding klappt nicht
-
Ich bin mir sicher dass das Problem vor dem Bildschirm sitzt
aber ich komm einfach nicht weiter.
Ich lasse mir ein Flot-Diagramm mit dem Temperaturverlauf der letzten 24h anzeigen. Soweit alles gut - hab ich auch schon lange so. Jetzt habe ich paar kleine Änderungen gemacht und plötzlich klappt das Binding der MAx- und Min-Werte nicht mehr.
Vielleicht kann wer mal drüberschauen und mir den berühmten Klaps auf den Hinterkopf geben
http://192.168.137.9:8082/flot/index.html?l%5B0%5D%5Bid%5D=mqtt.0.GrillDuino01.TemperaturLuft&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=onchange&l%5B0%5D%5Bcolor%5D=%23A1A50F&l%5B0%5D%5Bthickness%5D=3&l%5B0%5D%5Bshadowsize%5D=3&l%5B0%5D%5Bname%5D=Luft&l%5B0%5D%5BcommonYAxis%5D=1&l%5B0%5D%5BignoreNull%5D=true&l%5B0%5D%5BafterComma%5D=1&l%5B0%5D%5Bsmoothing%5D=1&l%5B0%5D%5Byaxe%5D=right&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5Bmin%5D={javascript.0.Statistik.Luft1.MinFlot}&l%5B0%5D%5Bmax%5D={javascript.0.Statistik.Luft1.MaxFlot}&timeType=relative&relativeEnd=now&range=1440&aggregateType=count&aggregateSpan=300&bg=7&legend=nw&hoverDetail=true&timeFormat=%25H%3A%25M+%25d.%25m&useComma=false&zoom=false&noedit=false&animation=0
Ich hab's mit Zahlenwerten (so wie es bisher funktioniert hatte) als auch mit Zeichenketten als Variablen probiert - es geht einfach nicht, d.h. das Diagramm bleibt leer, die Y-Achse ist ebenfalls leer, scheint als ob er für MAx und Min einen Nullwert hätte…
Vielen Dank schon mal im Voraus...
-
Servus
1. im Flotadapter Linie hinzufügen
2. Datenpunkte auswählen
3. Link kopieren
4. Widget iFrame auf Arbeitsfläche ziehen5. Link einfügen
LG
-
Hallo,
vielen Dank für deine Antwort.
Das Prinzip hab ich schon
. Der Chart wird auch korrekt angezeigt, nur das Binding des Max- und Min-wertes an einen Datenpunkt :
min%5D={javascript.0.Statistik.Luft1.MinFlot}&l%5B0%5D%5Bmax%5D={javascript.0.Statistik.Luft1.MaxFlot}
klappt nicht. Ich habe vermutlich nur einen Tippfehler oder so was blödes drin - es hat ja schon mal funktioniert… Warum muss ich auch unbedingt was ändern wollen ...
-
@thisoft
Hallo,
ich weiss, das Thema ist schon ziemlich alt. Aber hast du da eine Lösung gefunden?
Hab genau das selbe Problem und Verhalten mit Binding: "Diagramm bleibt leer, die Y-Achse ist ebenfalls leer, scheint als ob er für MAx und Min einen Nullwert hätte" -
@iob69
Hallo,
da gräbst du ja echt uralte Sachen aus ;-). Ich kann dir nicht mehr sagen wie, wo, was ich damals noch geändert habe... Aber - ich habe das Diagramm noch im Einsatz. Wenn auch inzwischen da und dort abgewandelt. Ich habe mal geschaut, jetzt steht da bei mir das drin:min%5D={min:javascript.0.Statistik.Luft1.Min24;min-2}&l%5B0%5D%5Bmax%5D={max:javascript.0.Statistik.Luft1.Max24;max+2}
Kannst du ja mal probieren. Aber frag mich bitte nicht, warum das jetzt genau so drin steht - HTML ist die Programmiersprache die so in etwa die wenigste Sympathie bei mir genießt
-
@thisoft
Vielleicht zum Verständnis:
%5B ist der ASCII-Code für '['
und %5D ist der ASCII-Code für ']'dann wird aus:
min%5D={min:javascript.0.Statistik.Luft1.Min24;min-2}&l%5B0%5D%5Bmax%5D={max:javascript.0.Statistik.Luft1.Max24;max+2}
lesbar für den Menschen:
min]={min:javascript.0.Statistik.Luft1.Min24;min-2}&l[0][max]={max:javascript.0.Statistik.Luft1.Max24;max+2}
Du hast mindestens am Anfang noch ein %5B "[" unterschlagen
Edit:
Hier noch einmal der Link von @Thisoft menschenlesbarer, nach ? kommen die Elemente, mit & getrennt. Für mich sieht das OK aus:http://192.168.137.9:8082/flot/index.html? l[0][id]=mqtt.0.GrillDuino01.TemperaturLuft& l[0][offset]=0& l[0][aggregate]=onchange& l[0][color]=%23A1A50F& l[0][thickness]=3& l[0][shadowsize]=3& l[0][name]=Luft& l[0][commonYAxis]=1& l[0][ignoreNull]=true& l[0][afterComma]=1& l[0][smoothing]=1& l[0][yaxe]=right& l[0][xaxe]=bottom& l[0][min]={javascript.0.Statistik.Luft1.MinFlot}& l[0][max]={javascript.0.Statistik.Luft1.MaxFlot}& timeType=relative& relativeEnd=now& range=1440& aggregateType=count& aggregateSpan=300& bg=7& legend=nw& hoverDetail=true& timeFormat=%25H%3A%25M+%25d.%25m& useComma=false& zoom=false& noedit=false& animation=0
-
@ralf-2 sagte in [Hilfe] Binding klappt nicht:
{min:javascript.0.Statistik.Luft1.Min24;min-2}
Mein mangelndes Wissen bezog sich nicht auf den Codeschnipsel an sich ;-). Warum diese ganzen ASCII-Codes da rumstehen weiß ich schon...
Mein mangelndes Wissen bezieht sich auf genau diesen Ausdruck{min:javascript.0.Statistik.Luft1.Min24;min-2}
warum das "min:" und dann erst die eigentliche Variable...
-
@thisoft sagte in [Hilfe] Binding klappt nicht:
warum das "min:" und dann erst die eigentliche Variable...
nee, min ist die variable!
Dieser wird der Wert des DP zugewiesen und um 2 reduziert -
@homoran
Hmmm - also reicht es nicht zu schreiben?min%5D={javascript.0.Statistik.Luft1.Min24}
Dann würde der Wert des DP nirgends ankommen???
Abgesehen davon dass der Wert dann natürlich nicht um 2 verringert wird... -
@thisoft was soll das
min%5D
bewirken?Ein Binding ist alles innerhalb der geschweiften Klammern.
Das wäre bei dir der Wert des DP.Um damit im Binding platzsparend zu rechnen, wird die ID üblicherweise einer kurzen Variable zugewiesen
-
@homoran
naja, das "min%5D" steht halt so im HTML-Code des Flot-Diagramms. Oder eben wie oben schon mal übersetzt wurde:
........blabla.........min]={min:javascript.0.Statistik.Luft1.Min24;min-2}.....blabla.....
ich meine nur, mich dunkel zu erinnern dass bei dieser Schreibweise:
...............blabla.........min]={javascript.0.Statistik.Luft1.Min24}.....blabla.....
das nicht funktionierte weil da dem Min-Wert des Diagramms (vermutlich) ein Null-Wert zugewiesen wurde.
-
@thisoft
Nunja, wenn es daran liegen sollte, dann mach doch einfach ein "min*1" dort rein.
Aber eigentlich sollte das was in der geschweiften Klammer herauskommt in der Variablen den eckigen Klammer gespeichert werden. -
-
-
@ralf-2
Hallo an alle. Hab mittlerweile herausgefunden, wieso das bei mir nicht funktioniert hat.
Das Problem war folgendes: Ich wollte einen Minimal- und einen Maximalwert z.B. 43.5 und 45.0 setzen, damit die Kurve vergrössert wird (Börsenwerte ändern sich im %bereich, da ist ein Wert von 0 bis x nicht zielführend)
Also hab ich die Werte von einem Datenpunkt genommen und gebindet. Das Problem war, dass diese Werte (logischerweise) vom Typ number waren. Im Flot ist der ganze konfigurationsstring aber ein einziger string (da werden die Werte dann nachträglich zur Darstellung wieder in number geparst - auch logisch)
Und deshalb gieng es nicht. Lösung: Die Zahlen in einen Datenpunkt vom Typ string (als String) geschrieben.[edit]
Aber dann sollte ja eigentlich das folgende auch nicht funktionieren:........blabla.........min]={min:javascript.0.Statistik.Luft1.Min24;min-2}.....blabla.....
Da wird ja gerechnet, und rechnen kann man nur mit number. dann müsste man wohl eher
........blabla.........min]={min:javascript.0.Statistik.Luft1.Min24;(min-2).tostring()}.....blabla.....
machen
-
@iob69 sagte in [Hilfe] Binding klappt nicht:
Maximalwert z.B. 43.5 und 45.0 setzen
Mit punkt, oder mit komma?
nicht eher 43,4 und 45,4?
Da besteht ein großer Unterschied.
Aber wenn es ja für dich klappt, ist ja das Ziel erreicht