smartVisu - dbLog - Plot - iOS

Begonnen von mircoby, 15 Dezember 2016, 23:26:18

Vorheriges Thema - Nächstes Thema

mircoby

Hallo zusammen,

Nutze Smartvisu stabil seit längere Zeit. Habe jetzt das Loggen von Textfiles auf dbLog umgestellt und den ersten Plot (highcharts) zum laufen gebracht.

Das Ganze funktioniert auf einem Win 7 mit
- Firefox bzw.
- IE.

Funktioniert nicht auf iOS Devices (es wird kein Plot angezeigt) :
- iPhone 6s iOS 10
- Ipad 3 iOS 8
- IpadPro iOS 10)

Die Konfiguration sieht wie folgt aus:

{% set plotOptions = [
{
'update_trigger_gad': 'Sprit_Diesel.val',
'device': 'Diesel_billigst',
'reading': 'state',
'config': {
'name': 'Diesel',
'type': 'spline'
}
},
{
'update_trigger_gad': 'Sprit_SuperPlus.val',
'device': 'SuperPlus_billigst',
'reading': 'state',
'config': {
'name': 'SuperPlus',
'type': 'spline'
}
}
]%}
{% set yAxisOptions = [
{
title: {
text: '',
},
labels: {
format: '{value} €/l' ,
},
opposite: false,

tickInterval: 0.05,

}
]%}

{{ dbPlot.linePlot('SuperPlusPlot', '', '2880', '', '', '€/l', plotOptions, yAxisOptions, '', 300) }}


Grundsätzlich habe ich erwartet dass die Plots mit iOS ebenfalls verfügbar sind. Was könnte hier die Ursache sein?

Danke & Gruß
Mirko
FHEM 6.2 auf Intel NUC mit Ubuntu 20.04 LTS
BUSWARE CUL, HM-RC-12, HM-SEC-RHS, HM-WDS30-OT2-SM, HM-ES-PMSw1-DR, CCU3, Sourceforge/hausbus (Beleuchtung + Rolläden + Audio), YAMAHA_AVR

dev0

Teste mal mit Safari auf Deinem Windows PC. Wenn Du Glück hast, dann werden die Charts damit auch nicht angezeigt. Am PC kannst Du dann besser debuggen: HTML Quellcode checken, Firebug,... Ich tippe darauf, dass an dem Block "drumherum" etwas nicht passen wird.

mircoby

Guter Hinweis, danke. Getestet mit Safari auf Windows.
Der Graph läuft rechts aus dem Rahmen raus. Zusätzlich werden im Safari keine Zahlenwerte angezeigt.
Werde den Plot mal in ein größeres Fenster mit genügend Platz einbauen.
FHEM 6.2 auf Intel NUC mit Ubuntu 20.04 LTS
BUSWARE CUL, HM-RC-12, HM-SEC-RHS, HM-WDS30-OT2-SM, HM-ES-PMSw1-DR, CCU3, Sourceforge/hausbus (Beleuchtung + Rolläden + Audio), YAMAHA_AVR

dev0

Die falsche Skalierung bestätigt meine Vermutung, dass die Einbettung in den Block nicht korrekt ist.

Joker

Skaliert der Plot evtl nach einem Reload der Seite richtig?
Ich habe unter iOS eigentlich immer das problem das er ab und an über den Block raus läuft. Nach einem reload passt es dann...

mircoby

Ja und Nein. Habe gestern beim Ipad Pro auf IOS 10.2 upgedated. Seit dem wird der Plot zumindest dort angezeigt, läuft über den Block hinaus, beim Reload wird er dann korrekt skalliert, wie Du es beschreibst.
Habe in der visu.css die ".block witdth" mal von 50% auf 100%  eingestellt. Der "Block" wird dann entsprechend breiter, allerdings ebenfalls der Inhalt. Ich möchte gerne die Plotbreite innerhalb des Blocks begrenzen. Es gibt hierzu in der Highcharts API folgende chart Optionen, die leider bislang nicht greifen:


'chart': {
  'spacingBottom': 15,
  'spacingTop': 10,
  'spacingLeft': 10,
  'spacingRight': 60,
  'width': 'null',
  'height': 'null',
  }


Diesen Teil code hatte ich im Bereich "plotOptions" innerhalb "config" eingebaut:


{% set plotOptions = [
  {
    'update_trigger_gad': 'Sprit_Diesel.val',
    'device': 'Diesel_billigst',
    'reading': 'state',
    'config': {
'name': 'Diesel',
'type': 'spline',
          'chart': {
     spacingRight: 200
       },
    },
}
]%}


mit und ohne Anführungszeichen '' leider ohne irgendwelche Auswirkungen.

Daher die Frage: Wo kann die Plotbreite eingestellt werden?

Gehe davon aus, wenn diese begrenzt wird, dann klappt auch die Darstellung korrekt!?
FHEM 6.2 auf Intel NUC mit Ubuntu 20.04 LTS
BUSWARE CUL, HM-RC-12, HM-SEC-RHS, HM-WDS30-OT2-SM, HM-ES-PMSw1-DR, CCU3, Sourceforge/hausbus (Beleuchtung + Rolläden + Audio), YAMAHA_AVR

dev0

Meiner Erkenntnis nach haben die Plotoptionen nichts mit dem Effekt zu tun, dass ja auch nur 2-3 Leute haben/hatten.
Versucht es mal mit diesem Block:

<div class="block" style="width: 100%;">
  <div class="set-1" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
    <div data-role="collapsible" data-collapsed="false" >
    <h3>Plot</h3>

   >>hier das Widget aufrufen<<

    </div>
  </div>
</div>


'width: 100%' läßt das Widget über beide Spalten gehen. Wer es einsplatig möchte muss 50% eintragen.

mircoby

danke dev0, ich habe es getestet. Folgende Beobachtung:

Seit iOS 10.2 (getestet mit iPad Pro + Iphone) sind die Graphen dargestellt. Beim ersten Aufrufen wird über die Blockgrenze hinausgeschrieben (iPadPro_1.jpg). 1x Gerät drehen (=reload), Graphen werden korrekt angezeigt (iPadPro_2.jpg).

Mit iOS 10.1.1 (getestet mit iPad Pro + Iphone) sowie iOS 9.1 (iPad 3) werden KEINE Graphen dargestellt.

Der Vollständigkeit halber hier die Konfiguration

<div class="block" style="width: 100%;">
<div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
<div data-role="collapsible" data-collapsed="false" >
<h3>Spritpreis guenstigst</h3>

{% import "widget_dbplot.html" as dbPlot %}
{% set plotOptions = [
{
'update_trigger_gad': 'Sprit_Diesel.val',
'device': 'Diesel_billigst',
'reading': 'state',
'config': {
'name': 'Diesel',
'type': 'spline',
},
},
{
'update_trigger_gad': 'Sprit_SuperPlus.val',
'device': 'SuperPlus_billigst',
'reading': 'state',
'config': {
'name': 'SuperPlus',
'type': 'spline'
}
}
]%}
{% set yAxisOptions = [
{
title: {
text: '',
},
labels: {
format: '{value} €/l' ,
},
opposite: false,

tickInterval: 0.05,

}
]%}

{{ dbPlot.linePlot('SuperPlusPlot', '', 2880, '', '', '', plotOptions, yAxisOptions, '', 350) }}

</div>
</div>
</div>


Gehe aktuell davon aus, dass die Konfiguration oben i.O. ist!?

Sollten die Graphen nicht auch schon mit älteren iOS Versionen laufen? 10.2. ist relativ neu, die Plots in Smartvisu gibt es doch schon länger...

Möchte gerne das iPad 3 auf iOS 9.1 lassen, und die Plots nutzen. (Die letzte verfügbare iOS Version für das Gerät ist 9.3.5, würde also vermutlich keinen Vorteil diesbezüglich bringen, da es hier erst ab 10.2 halbwegs funktioniert.)

FHEM 6.2 auf Intel NUC mit Ubuntu 20.04 LTS
BUSWARE CUL, HM-RC-12, HM-SEC-RHS, HM-WDS30-OT2-SM, HM-ES-PMSw1-DR, CCU3, Sourceforge/hausbus (Beleuchtung + Rolläden + Audio), YAMAHA_AVR

dev0

#8
Bei mir werden die Plots korrekt auf einem iPad mini IOS 9.x und iPhone 4S IOS 8.x angezeigt. Deine Konfig habe ich jetzt aber nicht im Detail geprüft.

Edit: Ich nutze smartVISU 2.8 pre, also noch nicht die Release Version...

mircoby

Das ist interessant. Würdest Du bitte mal die Komplette Konfiguration des "Blocks" posten? Möchte diesen gerne mit meinen Einstellungen vergleichen.

Du verwendest schon den "dbPlot.linePlot", nicht den  "plot.period", richtig?

Versuche gerade alternativ den "plot.period" einzurichten, noch ohne Ergebnis.
FHEM 6.2 auf Intel NUC mit Ubuntu 20.04 LTS
BUSWARE CUL, HM-RC-12, HM-SEC-RHS, HM-WDS30-OT2-SM, HM-ES-PMSw1-DR, CCU3, Sourceforge/hausbus (Beleuchtung + Rolläden + Audio), YAMAHA_AVR

dev0

#10
https://forum.fhem.de/index.php/topic,43134.msg421900.html#msg421900

Edit: Link korrigiert. Die Konfig stand 3-4 Postings höher.

mircoby

Fehler gefunden! Es hat nichts mit der Konfiguration des Plots zu tun, die war die ganze Zeit korrekt.

Es hängt damit zusammen wie Smartvisu aufgerufen wird. Typischerweise greife ich über eine Verknüpfung auf dem Home Bildschirm auf Smartvisu zu. Das klappt mit iOS 10.2,  nicht jedoch mit der älteren Version.

Greife ich mit dem älteren iOS (9.1) per Safari zu (Eingabe in der Adresszeile), werden auch die Graphen angezeigt! Das Neuanlegen der Verknüpfung führte bislang NICHT zum Erfolg.

Danke für die Hilfe!
FHEM 6.2 auf Intel NUC mit Ubuntu 20.04 LTS
BUSWARE CUL, HM-RC-12, HM-SEC-RHS, HM-WDS30-OT2-SM, HM-ES-PMSw1-DR, CCU3, Sourceforge/hausbus (Beleuchtung + Rolläden + Audio), YAMAHA_AVR

Joker

@mircoby:
Ist bei dir damit auch das Problem gelöst, dass die Graphen manchmal über den Block hinaus gehen?
Das Problem habe ich nach wie vor, auch mit den hier genannten Tips (hatte die Einbettung schon genauso wie hier, und habe das Problem sowohl per Verknüpfung als auch im normalen Safari Modus).

mircoby

Die Skalierung der Graphen ist nicht immer korrekt, nach einem reload passt es dann.
Die Plots laufen jedoch nicht mehr so extrem weit raus wie zu Beginn. Geändert habe ich bewusst nichts.
FHEM 6.2 auf Intel NUC mit Ubuntu 20.04 LTS
BUSWARE CUL, HM-RC-12, HM-SEC-RHS, HM-WDS30-OT2-SM, HM-ES-PMSw1-DR, CCU3, Sourceforge/hausbus (Beleuchtung + Rolläden + Audio), YAMAHA_AVR

dev0

Hier wird von einem Bug berichtet. Da ich eine sehr aktuelle Highcharts verwende könnte es sein, dass das inzwischen gefixed wurde, da der Effekt bei mir nicht (mehr?) auftritt. Aktualisiert doch mal Highcharts.

mircoby

Die Modifikation von widget_dbplot.php wie im verlinkten Thread angegeben behebt das Skallierungsproblem. Der Plot wird minimal verzögert aufgebaut, dafür korrekt.
Das einzige was jetzt noch nicht korrekt funktioniert ist das Darstellen des "dbPlot.linePlot" mit iOS 9.1 über eine Desktopverknüpfung. Hier wird einfach nichts dargestellt. Im Gegensatz dazu wird ein "plot.comfortchart" korrekt über eine Desktopverknüpfung dargestellt.
FHEM 6.2 auf Intel NUC mit Ubuntu 20.04 LTS
BUSWARE CUL, HM-RC-12, HM-SEC-RHS, HM-WDS30-OT2-SM, HM-ES-PMSw1-DR, CCU3, Sourceforge/hausbus (Beleuchtung + Rolläden + Audio), YAMAHA_AVR

Hanky

@dev0: Welche Highcharts Version verwendest du? Ich würde dann probieren auf deine Version ein upgrade zu machen.

Grüße

Hanky

dev0

@mircoby: Die IOS 9 Desktopverknüpfung funktioniert an mehreren Stellen nicht sauber -> Issue auf Github eröffnen. Mein Issue #52 bzg. weiterer IOS 9 Probleme ist seit über einem Jahr offen.

@Hanky: Die aktualisierte Version (5.0.x) läuft nur auf meiner Testinstanz, habe ich gerade gesehen. Produktiv, aber auch ohne Skalierungsprobleme, verwende ich v4.2.4 (2016-04-14) mit smartVISU 2.8 pre, ich habe noch nicht auf die Releaseversion umgestellt.

Hanky

#18
Hallo dev0,

habe jetzt die 5.0.6 runter geladen und den Inhalt des Ordners \Code\js\ komplett nach smartvisu\vendor\plot.highcharts\ kopiert (nachdem ich den Ordner vorher geleert habe). Jetzt werden die Plots nur noch als Schwarze Blöcke angezeigt.

Ist der js Ordner überhaupt der richtige, der kopiert werden muss?

Muss noch etwas spezielles von Smartvisu mit in den Ordner?


EDIT: Okay hab's... einfach den kompletten download in den Ordner kopieren dann läufts.

Danke.

Grüße

Hanky


Joker

Heißt das mit dieser Version funktioniert es wie vorher, oder es löst auch das Skalierungsproblem ohne Anpassung der php Datei?

Hanky

Hallo,

ja mit der Version funktioniert es wie vorher. Skalierungsproblem ist ohne die Änderung in der php Datei aber immer noch vorhanden. :(

Grüße

Hanky