Zeit im Plotheader ist nicht korrekt

Begonnen von maxritti, 20 Juni 2017, 08:58:03

Vorheriges Thema - Nächstes Thema

maxritti

Hallo zusammen,

ich habe schon ein wenig gesucht, bin aber nicht fündig geworden.
Mit ist seit einiger Zeit aufgefallen, dass wenn ich in einem Plot auf eine Wert klicke, die Zeit im Header nicht gleich dem ist, wo ich im Plot anklicke.
Beispielsweise habe ich in dem angehangenen Bild auf den grünen Eintrag um kurz vor 23:30 Uhr geklickt, im Header wird dann aber 06:31 angezeigt.

Das ganze passiert unter dem Safari, Chrome als auch vom Edge unter Windows 10. Also mMn nach unabhängig vom Browser.

Falls noch Infos notwendig sind, einfach fragen.
Ich liefere dann gerne nach.  :D

Ach ja. FHEM ist up to date.


Latest Revision: 14544

File                 Rev   Last Change

fhem.pl              14348 2017-05-22 20:25:06Z rudolfkoenig
57_ABFALL.pm         11019 2016-02-16 01:55:00Z uniqueck
90_at.pm             14519 2017-06-15 19:01:24Z rudolfkoenig
98_autocreate.pm     14530 2017-06-17 19:38:39Z rudolfkoenig
57_Calendar.pm       14494 2017-06-11 05:45:13Z neubert
98_cmdalias.pm       12935 2017-01-02 19:51:46Z rudolfkoenig
10_CUL_HM.pm         14527 2017-06-17 05:29:47Z martinp876
95_Dashboard.pm      12251 2016-10-03 09:45:43Z talkabout
93_DbLog.pm          14474 2017-06-06 17:04:32Z DS_Starter
98_DOIF.pm           14112 2017-04-26 16:09:48Z Damian
98_dummy.pm          12700 2016-12-02 16:49:42Z rudolfkoenig
91_eventTypes.pm     11984 2016-08-19 12:47:50Z rudolfkoenig
72_FB_CALLMONITOR.pm 14142 2017-04-30 10:50:14Z markusbloch
01_FHEMWEB.pm        14543 2017-06-19 14:37:40Z rudolfkoenig
92_FileLog.pm        14206 2017-05-06 11:42:54Z rudolfkoenig
98_HMinfo.pm         14388 2017-05-27 15:58:50Z martinp876
00_HMLAN.pm          14073 2017-04-22 13:45:25Z martinp876
95_holiday.pm        14346 2017-05-22 10:22:55Z rudolfkoenig
98_HTTPMOD.pm        14231 2017-05-09 19:09:53Z StefanStrobel
02_HTTPSRV.pm        13976 2017-04-12 13:35:44Z neubert
98_logProxy.pm       13399 2017-02-12 13:00:43Z justme1968
# $Id: 99_myAlarmUtils.pm 0001 2015-03-07 hh:mm:ssZ maxritti $
# $Id: 99_myRollosUtils.pm 0001 2015-03-07 hh:mm:ssZ maxritti $
# $Id: 99_myTelefonUtils.pm 0001 xxxx-yy-zz hh:mm:ssZ maxritti $
# $Id: 99_myUtils.pm 0001 2015-03-07 hh:mm:ssZ maxritti $
No Id found for 99_myUtilsTelefon.pm
91_notify.pm         13630 2017-03-06 21:05:08Z rudolfkoenig
70_Pushover.pm       14012 2017-04-17 13:09:41Z loredo
98_RandomTimer.pm    14538 2017-06-18 19:48:48Z orti-otto
33_readingsGroup.pm  14044 2017-04-20 07:48:44Z justme1968
99_Solarlog.pm        2003 2014-08-13 21:49:00Z jwetzig
99_SUNRISE_EL.pm     12485 2016-11-01 15:18:51Z rudolfkoenig
98_SVG.pm            14542 2017-06-19 13:11:42Z rudolfkoenig
32_SYSSTAT.pm        10567 2016-01-18 21:34:09Z justme1968
98_telnet.pm         14453 2017-06-02 17:37:59Z rudolfkoenig
59_Twilight.pm       14039 2017-04-19 19:59:56Z orti-otto
99_Utils.pm          13259 2017-01-28 17:39:39Z rudolfkoenig
98_version.pm        13628 2017-03-06 20:43:50Z markusbloch
59_Weather.pm        12559 2016-11-13 08:54:54Z borisneubert
98_weblink.pm        13558 2017-03-01 09:42:51Z rudolfkoenig

Blocking.pm          14345 2017-05-22 09:14:37Z rudolfkoenig
Color.pm             11159 2016-03-30 16:08:06Z justme1968
configDB.pm          14296 2017-05-15 18:56:49Z betateilchen
DevIo.pm             13865 2017-04-01 09:10:44Z rudolfkoenig
FritzBoxUtils.pm     14541 2017-06-19 09:13:10Z rudolfkoenig
HMConfig.pm          14517 2017-06-15 16:40:24Z martinp876
No Id found for HMConfig_SenTHPL.pm
HttpUtils.pm         14525 2017-06-16 08:52:13Z rudolfkoenig
No Id found for MBclient.pm
RTypes.pm            10476 2016-01-12 21:03:33Z borisneubert
SetExtensions.pm     12935 2017-01-02 19:51:46Z rudolfkoenig
TcpServerUtils.pm    14453 2017-06-02 17:37:59Z rudolfkoenig
YahooWeatherAPI.pm   12465 2016-10-29 09:01:31Z borisneubert

fhemweb.js                 14516 2017-06-15 11:01:57Z rudolfkoenig
fhemweb_colorpicker.js     13580 2017-03-02 13:03:29Z justme1968
fhemweb_fbcalllist.js      13629 2017-03-06 20:50:43Z markusbloch
fhemweb_readingsGroup.js   13580 2017-03-02 13:03:29Z justme1968
fhemweb_readingsHistory.js 13580 2017-03-02 13:03:29Z justme1968
fhemweb_sortable.js        13629 2017-03-06 20:50:43Z markusbloch
fhemweb_uzsu.js            13580 2017-03-02 13:03:29Z justme1968
svg.js                     13579 2017-03-02 12:39:59Z rudolfkoenig


rudolfkoenig


maxritti

Gerade mal endPlotNow aus FhemWeb entfernt.
Und auch da passiert es.


rudolfkoenig

Dann brauche ich die .gplot Datei und die Quelldaten fuer heute.

maxritti

#4
Hallo Rudolf,

anbei die gplot Datei und ein Export aus der MySQL Db für das Device welches die "krummen" Werte anzeigt.
Ich hoffe mit dem Export kannst Du etwas anfangen. Andernfalls, welche Format brauchst du?

rudolfkoenig

Datenbank unter FHEM ist fuer mich Neuland, was auch gerne als Solches bleiben darf. Ich habe die .csv fuer FileLog umformatiert, und es mit einer mini fhem.cfg getestet, schaut "leider" gut aus, siehe Anhang. Ich gehe davon aus, dass einer der SVG-Attribute das Problem verursacht, d.h. die haette ich noch gerne.

Kannst du bitte meine angehaengte Konfguration auch testen?

maxritti

Danke Dir auf jeden Fall schon mal für die Hilfe.

Das mit den Datenbanken kann ich voll und ganz verstehen, wenn es um das Debugging von Problemen geht.
Ich überlege in der Tat auch wieder von configDB und DBLog auf die Standardmechanismen zurück zu gehen. Macht die Sache für alle Beteiligten in manchen Problemfällen eventuell was einfacher.  :)

Hier mal ein list des SVG-Devices.
Recht übersichtlich oder?  :D

define pl_Div SVG myDbLog:pl_Div:HISTORY
attr pl_Div room Plots


Und auch ich habe erwartet, dass es mit deiner Config, der Filelogdatei und der SVG Datei klappt auf meinem System klappt.
Nun ist guter Rat teuer.  :o

rudolfkoenig

Kannst du bitte in FHEM/98_SVG.pm, vor der Zeile 1899 (my $lStyle...) folgendes Einfuegen:
Log 1, $attributes;

das betroffene Plot nochmal im Editor aufrufen, und die Zeilen mit t_mul aus dem Log hier zeigen? Am besten mit einem Screenshot des Plots, damit ich weiss, was angezeigt wird. Sind die Zeitpunkte der anderen Linien richtig?

maxritti

Ich habe die Zeile eingefügt.
Damit kommen dann diese Einträge im Log:

2017.06.21 16:20:53.089 1: id="line_3" decimals="2" x_min="48" x_off="1497969000" t_mul="0.00814805384196942" y_h="140.8" y_min="0" y_mul="121.6" title="Ind. Beleuchtung" onclick="parent.svg_click(evt)" style="stroke-width:1"
2017.06.21 16:20:53.090 1: id="line_2" decimals="2" x_min="48" x_off="1497969000" t_mul="0.00814805384196942" y_h="140.8" y_min="0" y_mul="121.6" title="Rain" onclick="parent.svg_click(evt)" style="stroke-width:1"
2017.06.21 16:20:53.090 1: id="line_1" decimals="2" x_min="48" x_off="1497969000" t_mul="0.00814805384196942" y_h="140.8" y_min="0" y_mul="121.6" title="Zirkpumpe" onclick="parent.svg_click(evt)" style="stroke-width:1"


Der Plot sieht so aus wie im Screenshot.

Was meinst Du mit Zeitpunkten der anderen Linien?
Die anderen Devices in dem Plot?
Egal welches Device ich anklicke die Zeiten differieren.

rudolfkoenig

ZitatDie anderen Devices in dem Plot?
Ja.

Deine Debug-Zeilen schauen genauso aus, wie meine, natuerlich jetzt mit einem anderen x_off. Naechster Schritt: in www/pgm2/svg.js Zeile 69 (unter der Zeile mit var d) folgendes einfuegen:
log("DEBUG:"+evt.clientX+"/"+o.x_min+"/"+o.t_mul+"/"+o.x_off+" => "+d);

Dann JavaScript Konsole oeffnen, irgendeinen Wert etwa in der Mitte anklicken, und die Zeile mit DEBUG aus der JS-Console hier anhaengen. Bitte wieder mit Bild, damit ich weiss, was du siehst (Datum/etc) und angeklickt hast. Uebrigens habe ich mit endPlotNow auch keine Probleme.

maxritti

Die Zeile habe ich eingefügt.

Als Resultat kam das hier raus:

12:02:08.534 DEBUG:557/48/0.00814805384196942/1498212900 => Sat Jun 24 2017 05:36:08 GMT+0200 (CEST)

Und zwar beim klick auf das Diagramm um kurz vor 23:15 (also der rechte von den nah beinander liegenden Einträgen).

rudolfkoenig

Ohne weitere Attribute sind die FHEM SVGs 800 Pixel breit, mit 48 Pixel an beiden Seiten (siehe Parameter 2). Auch die 0.0081... ist dieser Ansicht, da 86400*0.00814805384196942 = 704 = 800-2*48.  557 ist evt.clientX, X-Offset des Zeigers in der SVG. 557/704 = 0.72, also ca 3/4 Tag, was die 5:36 erklaert.

557 ist in deinem Fall entweder nicht relativ zum SVG Urspung, oder irgendwie skaliert. Fuer Letzteres spricht auch, dass das Bild in deinem Screenshot nicht 704 Pixel breit ist, sondern eher das Doppelte. Wird dein Bildschirm skaliert? Z.Bsp. vom OS (wg. "Retina Display") oder vom Browser (Zoom-Level nicht 100%)?

maxritti

Der ersten Abschnitt von Dir verstehe ich nicht wirklich.  ;)
Muss ich aber hoffentlich auch nicht.  :)

Ob das Display skaliert wird, ist eine gute Frage.
Kann ich ehrlich gesagt gar nicht sagen.

Wobei das "Feature" auch auf dem MacMini auftritt.
Ich werde die Tage mal mit einem DELL Windows 7 Rechner und dem IE 11 und FF testen.
Da sollte ja nichts skaliert werden.

Melde ich dann noch mal.

rudolfkoenig

ZitatDer ersten Abschnitt von Dir verstehe ich nicht wirklich.  (https://forum.fhem.de/Smileys/default/wink.gif)
Uebersetzt: ich sehe keinen offensichtlichen Programmierfehler in meinem Code.

maxritti

#14
Hallo Rudolf,


an Deinem Code habe ich auch nicht gezweifelt.  :)

Nun habe ich es unter Windows 7 mit dem IE 11 getestet.
Selbe Problematik. Auch mit dem FF unter Windows 7.

Die Javakonsole sagt dies hier:

Zitat16:42:47.479 DEBUG:627/48/0.00814805384196942/1498401900 => Mon Jun 26 2017 12:29:19 GMT+0200 (Mitteleuropäische Sommerzeit)

Und das bei Klick auf die Linie um kurz nach 6:00.
Wenn ich da das reine Diagramm (also auch ohne Werte an der X-Achse per Screenshot abfotografiere ist es 704 pixel breit.

Hast Du noch eine Idee, was da an dem Frontend/SVG oder was auch immer sein kann?

Ich werde mal eine neue VM bauen, da ein blanko FHEM und dann mal auf meine ConfigDB und DBLog umschalten.
Dann schaue ich mal, wie es ist dort verhält.

Melde mich wieder...