SVG Plot - steps ohne vertikale Linien?

Begonnen von Frank_Huber, 09 April 2018, 15:07:27

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Wo kommen denn die 0 Linien her? Die erscheinen bei mir nur, wenn ich errorbarlow oder errorbar einschalte. Bei errorbarhigh sind die weg.

Das mit der rechten Maustaste muss ich mir ansehen. Da das aber jetzt einzelne Linien sind, wird das kaum klappen mit dem ausblenden. Mit einer einzigen Linie kann man das nicht darstellen, ich habe jedenfalls keine entsprechende Möglichkeit für SVGs entdecken können.

Frank_Huber

Plot sind ja immer einzelne Linien.

Wo die 0 Linien herkommen weiß ich nicht. Ich versteh in der pm Datei nur Bahnhof. 🤡

Im Screenshot sind alle auf errorbarhigh.

Gesendet von meinem S60 mit Tapatalk


mumpitzstuff

Also in meinem Plot kann ich mit der rechten Maustaste gar nichts machen. Hätte mich auch gewundert, denn da erscheint bei mir immer ein Fenster vom Browser selbst, in dem ich mir z.b. den Seitenquelltext anzeigen lassen kann. Ich kann nur mit der linken Maustaste auf die Linie klicken und sehe dann die aktuellen Werte.

Um rauszukriegen wer oder was die 0 Linien verursacht, kannst du doch nacheinander den Linien z.b. die Farbe blau geben. Wenn du dann einen Plot findest der oben und bei 0 Blau ist, dann hast du den Plot gefunden. Wenn du dann auf Seitenquelltext anzeigen gehst im Browser, dann findest du irgendwann sowas:

<embed src="/fhem/SVG_showLog?dev=SVG_FileLog_GTAG_1&logdev=LOG_PROXY&gplotfile=SVG_FileLog_GTAG_1&logfile=CURRENT&pos=" type="image/svg+xml"

Der vordere Teil ist ein Link den man anklicken kann, dann sieht man den Source vom SVG. Dort müsstest du ganz viele Lines sehen, die alle in etwa so aussehen:

<line id="line_1_1" decimals="2" x_min="48" x_off="1523307900" t_mul="0.00358026072631453" y_h="300.8" y_min="0" y_mul="93.8666666666667" title="" onclick="parent.svg_click(evt)" style="stroke-width:1" class="SVGplot l1fill_stripe" x1="48" y1="113.066666666667" x2="147" y2="113.066666666667"/>
<line id="line_1_2" decimals="2" x_min="48" x_off="1523307900" t_mul="0.00358026072631453" y_h="300.8" y_min="0" y_mul="93.8666666666667" title="" onclick="parent.svg_click(evt)" style="stroke-width:1" class="SVGplot l1fill_stripe" x1="147" y1="113.066666666667" x2="149" y2="113.066666666667"/>
<line id="line_1_4" decimals="2" x_min="48" x_off="1523307900" t_mul="0.00358026072631453" y_h="300.8" y_min="0" y_mul="93.8666666666667" title="" onclick="parent.svg_click(evt)" style="stroke-width:1" class="SVGplot l1fill_stripe" x1="242" y1="113.066666666667" x2="275" y2="113.066666666667"/>
<line id="line_1_5" decimals="2" x_min="48" x_off="1523307900" t_mul="0.00358026072631453" y_h="300.8" y_min="0" y_mul="93.8666666666667" title="" onclick="parent.svg_click(evt)" style="stroke-width:1" class="SVGplot l1fill_stripe" x1="275" y1="113.066666666667" x2="277" y2="113.066666666667"/>


Bei title steht der Plotname drin, den du vorher als Übeltäter identifiziert hast. die Lines bräuchte ich mal und zum Vergleich die entsprechende Polyline vom selben Plot wenn du diesen auf steps umgestellt hast. Das ist dann nur noch eine Zeile mit vielen x und y Koordinaten.

Frank_Huber

#18
Moin Moin,

Die rechte Taste war auch Fehlinfo von mir. sorry.
was ich meinte ist das im Anhang. also anstatt mit der Maus nur drauf für min/max draufklicken
Wenn es Absicht ist dass es nicht da ist ist es ja OK. :)

Die Quelle der Null-Linien und deine angefragten Daten poste ich später.
mir ist eben auch aufgefallen dass da zum Teil sehr schräge Werte drin stehen. solte ja eigentlich nur 0 und 1 bis 11 vorkommen.
das schau ich mir auch mal genauer an.


Edit:
Die schrägen Werte kommen wenn es Keine Einträge im Plot Zeitraum gibt.
Die Null-Linien kommen wenn es mehrfach Off aber kein On gibt. Das dachte ich verhindert zu haben, da muss ich nochmal ran. Das liegt am logging.

mumpitzstuff

Menü habe ich jetzt gefunden. Ist mir noch nie aufgefallen. Ich muss erst mal gucken wo das genau her kommt. Melde mich wenn ich was habe.

Frank_Huber

Hi,

Ich brauch das nicht unbedingt wennd as so programmiertechnisch OK ist.
kann ja aber auch sein dass es durch einen Fehler nicht angezeigt wird, und wer weis was dieser Fehler dann noch verursacht. :)

mumpitzstuff

ich habe jetzt vielleicht noch eine viel tollere lösung gefunden, die könnte ich dann sogar versuchen als offiziellen patch einzuchecken. der ansatz funktioniert dann mit der bereits existierenden polyline wie bei steps, nur das diese dann ein zusätzliches attribut stroke-dasharray bekommt. das ist viel sauberer als die jetzige lösung. du kannst hoffentlich mit dem hack erst mal leben, dann bastel ich an einer offiziellen lösung und werde die mal dem maintainer präsentieren.
mit ein wenig glück kommt es dann ins offizielle fhem rein.


Frank_Huber

#22
Hi,

Also ich hab keine Eile. für mich sieht das jetzt schonmal suuuper aus. :-)

Was aber toll wäre wäre wenn der Plot am Ende einen virtuellen Datenpunkt setzt, also am Plot-Ende den letzten Wert wiederholt.

rudolfkoenig

Ich habe meine Variante eingecheckt, die Bezeichner nennen sich sich horizontalLineFrom und horizontalLineTo. Im ersten Fall orientiert sich die Hoehe der Linie an dem ersten der beiden Punkte, im zweiten Fall an dem Zweiten. Die Linien werden erst gemalt, wenn mindestens zwei Punkte mit unterschiedlichen X-Koordinaten (d.h. Zeitpunkten) gibt.

Weiterhin gibt es auch dickere Linien, d.h. zusaetzlich 8,12,16 und 24.

Menu gibts nicht, weil es keine Linie mit dem richtigen ID gibt. Da es zu viel Arbeit waere, die Menu-Funktionen jeweils fuer eine Liste von Linien umzubauen, habe ich Menu fuer die horizontalLine* Typen unterdrueckt.

Frank_Huber

Zitat von: rudolfkoenig am 15 April 2018, 11:36:44
Ich habe meine Variante eingecheckt, die Bezeichner nennen sich sich horizontalLineFrom und horizontalLineTo. Im ersten Fall orientiert sich die Hoehe der Linie an dem ersten der beiden Punkte, im zweiten Fall an dem Zweiten. Die Linien werden erst gemalt, wenn mindestens zwei Punkte mit unterschiedlichen X-Koordinaten (d.h. Zeitpunkten) gibt.

Weiterhin gibt es auch dickere Linien, d.h. zusaetzlich 8,12,16 und 24.

Menu gibts nicht, weil es keine Linie mit dem richtigen ID gibt. Da es zu viel Arbeit waere, die Menu-Funktionen jeweils fuer eine Liste von Linien umzubauen, habe ich Menu fuer die horizontalLine* Typen unterdrueckt.
Danke! Wird gleich morgen getestet! [emoji1360]

Gesendet von meinem S60 mit Tapatalk


JoeALLb

Hallo, kurzes Feedback von mir:
Leider wird nichts gezeichnet, wenn die Zeitspanne nur sehr kurz ist (wenige Sekunden).

Hier ein paar Zeitwerte zum Screenshot:
Um 8:12 reichen 37s aus, um im Plot angezeigt zu werden, um 17:12 5s nicht.
Die anderen Linientypen zeigen dort durchaus etwas an, was mir natürlich besser gefällt...

sG Joe

2018-04-17_00:00:00 -10
2018-04-17_08:12:28 1
2018-04-17_08:13:05 -10
2018-04-17_08:39:44 1
2018-04-17_08:41:17 -10
2018-04-17_10:45:52 1
2018-04-17_12:09:39 -10
2018-04-17_13:00:34 1
2018-04-17_13:00:39 -10
2018-04-17_13:15:59 1
2018-04-17_13:16:01 -10
2018-04-17_13:20:00 1
2018-04-17_13:49:51 -10
2018-04-17_13:50:00 1
2018-04-17_14:06:26 -10
2018-04-17_15:19:00 1
2018-04-17_15:19:47 -10
2018-04-17_15:23:45 1
2018-04-17_15:23:56 -10
2018-04-17_17:12:27 1
2018-04-17_17:12:32 -10
2018-04-17_17:37:30 -10
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

rudolfkoenig

ZitatLeider wird nichts gezeichnet, wenn die Zeitspanne nur sehr kurz ist (wenige Sekunden).
Stimmt, wenn die Linienlaenge 0 ist, dann wird die Linie nicht gemalt. Habs geendert, dass immer etwas zu sehen ist.
Meine Aussage wegen den unterschiedlichen X-Koordinaten ist damit hinfaellig.