SVG Werte auslesen

Begonnen von Wolfgang Hochweller, 29 April 2019, 19:47:21

Vorheriges Thema - Nächstes Thema

Wolfgang Hochweller

Der Plot wurde einem Raum zugeordnet.

Das erste Bild ist der normale Plot, alles korrekt.
Lese ich einen Wert aus ( zweites Bild ) bekomme ich offenbar andere Masseinheiten zugrundegelegt ( Fahrenheit statt Celsius ).

Kann ich das beeinflussen ?

Ergaenzung : Lese ich die Werte aus demselben Plot auf der Ploteditorseite aus, ist alles ok.

rudolfkoenig

Das SVG Modul hat weder vom Celsius noch von Fahrenheit eine Ahnung, vom Umrechnungsfaktor schon gar nicht.

Wenn mit "auslesen" das Draufklicken auf die Linie gemeint ist: das Javaskript berechnet anhand der X-Position des Mausklicks den Y-Wert der Linie. Das kann aus diversen Gruenden ungenau sein, allerdings nicht in diesem Umfang.

Wolfgang Hochweller

#2
Das stimmt, die Umrechnung Celsius-Fahrenheit hat zwar gestimmt , aber nur zufaellig.

Wenn der Plot in einem Raum angesehen wird , haengt das Ausleseergebnis wesentlich von der Fenstergroesse des Browserwindows ab,
im Ploteditor ist das nicht so.

Korrektur : Das gilt immer, sobald man die Seite nach oben schiebt !

Sehr gut sieht man das in 'Everything'; die Seite ist ja oft recht lang, Plots sind ganz unten.
Dann steigen die Werte in ungeahnte Hoehen

rudolfkoenig

ZitatKorrektur : Das gilt immer, sobald man die Seite nach oben schiebt !
Nicht bei mir, ich konnte mit Chrome und Firefox kein Problem feststellen.
Ich brauche eine genaue Anleitung (am besten mit fhem.cfg.demo), mit Screenshots und Infos zum Browser.

Wolfgang Hochweller


Wolfgang Hochweller

Doch noch heute.

Scrollbalken beachten :

svg1 : Wert ok,   

svg2 : Wert falsch

Windows 10,   letztes  Firefox, letztes Chrome, beide zeigen gleiches Verhalten

rudolfkoenig

Mit Windows 10 kann ich nicht dienen, mit einem aelteren Windows habe ich keine Probleme feststellen koennen.
Ich habe mit fhem.cfg.demo die Sonnenaufgang und Untergangszeiten anklicken koennen, und die angezeigten Werte waren plausibel, auch in einem kleinen Fenster, mit heruntergescrollten Inhalt.
Genauer gesagt Chrome und Firefox funktioniert, IE zeigt zwar die Plots an, kooperiert aber nicht beim Mausklick.

Wolfgang Hochweller

#7
Mit der Demo-Config geht das prima.

Das mit IE ist richtig.
Edge funktioniert uebrigens nicht.

Gleiches fuer Windows 8; gescrollt sind die Werte verkehrt ( Chrome, Firefox ).

Sehe ich das richtig ?

Entschieden wird das hier :

function
svg_click(evt)
{
  var t = evt.target;
  var o = svg_prepareHash(t);

  var svg=$(t).closest("svg"), x=evt.clientX, y=evt.clientY;
  if($(svg).parent().length) { // isEmbed=0
    var off = $(svg).offset();
    x -= off.left;
    y -= off.top;
  }

  var y_org = (((o.y_h-y)/o.y_mul)+o.y_min).toFixed(o.decimals);
  var d = new Date((((x-o.x_min)/o.t_mul)+o.x_off) * 1000);
  var ts = (d.getHours() < 10 ? '0' : '') + d.getHours() + ":"+
           (d.getMinutes() < 10 ? '0' : '') + d.getMinutes();

  var tl = $(t).closest("svg").find("#svg_title");
  $(tl).html($(t).attr("title")+": "+y_org+" ("+ts+")");
}


Kann ich das debuggen ?


Wolfgang Hochweller

#8
Ich habe das mal auf einem anderen Windowsrechner und einem Mac probiert, geht auch nicht.

Also schliesse ich daraus, das hat was mit meiner FHEM-Konfiguration zu tun.

Irgendeine Idee, wonach ich suchen koennte ?

Kleiner Erfolg :

Das ist auf jeden Fall style-abhaengig :
Bei ios6 oder ios12 tritt es nicht auf, bei allen anderen schon, auch ios7.