Q&A Highcharts - Multigraph V1.0

@khc

Für die Nachwelt könnte es sinnvoll sein die Versionen immer im 1. post zu pflegen.

Dann muss man für Updates nicht immer alle Seiten durchpflügen.

Gruss
Bernd

Oweh - ihr habt natuerlich recht. Das war ein Kopierfehler.
Es muss natuerlich die Funktion WriteContentWithScriptId ($CfgDaten, $IPS_SELF); aufgerufen werden.

Hi KHC,

solche Sachen sind mir auch schon passiert (DENON AVR3811 Anbindung). Ich hab mir daher einen Install-Script-Generator gebaut der aus allen relevanten Scripts ein Install-Script baut, Version und Timestamp dazuschreibt, das Installfile als lokale Version in den Objektbaum hängt. Dieses können dann Dritte einfach ausführen können und brauchen sich um nichts mehr kümmern. Das ist zwar noch speziell für meine Umgebung gebaut, ich hatte aber schon vor daraus ein allgemein taugliches Tool zu bauen.

wär das für Dich interessant?

Hallo Community,
jetzt ist der korrigiert Config.Script der V1.0002 hochgeladen.

Zur Frage von @wgreipl: Dynamische X-achse erhälts Du wenn Du kein Min und Max Werte an die x Achse übergibst wie im Config-String Beispiel im Config-Script:

$CfgDaten["HighChartCfg"]="chart: {
				renderTo: 'container'
			},
			title: {
				text: '%title.text%',
				x: -20
			},
			subtitle: {
				text: '%subtitle.text%',
				x: -20
			},
			xAxis: [{
				type: 'datetime',
				 dateTimeLabelFormats: { second: '%H:%M:%S',
					minute: '%H:%M',
					hour: '%H:%M',
					day: '%e. %b',
					week: '%e. %b',
					month: '%b \'%y',
					year: '%Y'

				 }
			}],
			yAxis: [	%yAxis% ],
			tooltip: { %tooltip% },
			series: [ %data% ]
		});";

Hallo Heinz,
Inzwischen kann ich die Ursache für den Abschuss des Safari Browsers etwas eingrenzen.
Es sind Temperatur und Luftfeuchtigkeit als Graphen.
Bei beiden habe ich die direkte Abfrage von 2 vorhandenen FS20 Instanz IDs mit der Abfrage nach der Homematic Status ID Prozedur mit der Suche nach Temperature und Humidity Variablen gekoppelt um alle vorhandenen Temps in einem Graphen sehen zu können.

Irgendwo dort scheint es also in Webkit Browsern eine Herausforderung zu geben.

Ich werde nachher mal die FS20 Infos auskommentieren und mal schauen was dann passiert. Vielleicht sind dort die Datenstrukturen so inkompatibel zueinander das es beim rendern der Infos den Browser abschiesst oder was auch immer.

Happy Sunday…

Hi

dürfte nix FS20 spezifisches sein, geht hier weder mit WS300 Wetterdaten, noch mit 1Wire Temperatur Logs.
Hab auch schon mal versucht mich nur auf einen einzige Variable zu beschränken, geht trotzdem nicht.

Heute Abend werd ich auch mal wieder dran rumspielen, vieleicht find ich was.

Chrome am Desktop (der ist doch auch Webkit) geht aber sauber. Nur unter Android hackts.

gruß
bb

Hi Bernardo71,

habe soeben das Ganze mit dem Safari (auf Windows) getestet und damit funktioniert es problemlos. Scheint dann eher am iPad zu liegen.

Grüße KHC

Hallo Bernardo71,

sende mir mal das erzeugt tmp File, und dein Config Script, dann schaue ich es mir mal genauer an

Gruß Heinz

Ich denke es ist die Menge an Daten der 9 Graphenlinien die das IPAD dann einfach nicht gerendert bekommt und dann auf die Bretter geht. Momentan ist nur der Tagesgraph aktiv. Woche und Jahr sind deaktiviert.
Alle anderen Graphen zeigen dieses Problem nicht…und hier könnte Werner evntuell mal an seiner Hardware testen ob dort ähnliche Effekte auftreten.
Am Mozilla 4 gibt es, ausser einem automatischen Reload des Webfronts ab und zu, zumindest nicht dieses Verhalten wie auf dem iPad.

Gruss
B71

Last mir noch ein wenig Zeit, komme gerade von einer Runde Rad zurück :wink:

Teste ich Abends mal, muss aber erst 9 Variablen finden die ich logge. Bernd Du weißt wo meine Daten derzeit liegen :slight_smile:

Noch…mein Lieber…noch :slight_smile:
Gruss
B71

Also die APP macht keinerlei Probleme.
Alles funktioniert ohne jegliche Verzögerungen.
Mein lieber Safari Browser auf dem iPAD…ich glaube Du bist ein kleiner böser Bube…:smiley:

Gruss
B71

Update: Terra und Mercury Browser zeigen eine Fehlermeldung „Zeitüberschreitung der Anforderung“ bei den beiden Problemgraphen an, brechen aber nicht komplett zusammen.
Opera auf dem iPAD geht gar nicht.

Frage an die Webfront Gurus:

Gibt es eine Limitation in Bezug auf Zeit die das Webfront abprüft und für sich als Fehler interpretiert und somit dieses Verhalten im Safari auslöst ?

Hallo KHC,

ich dachte eher an die Y-Achse, die ist ja standardmässig ohne min und max und wird skaliert, lag nur an meinen Ticks da diese zu hoch eingestellt waren :rolleyes:

Als Screenshot das Ergebnis.

Danke für deine Mühe, jetzt heißt es erst einmal Logging einschalten.

Noch…mein Lieber…noch

Tja B71, jetzt ist es soweit und ich versuche mich wieder mit der internen Datenbank :smiley:

Und dann gleich „Champions League Graphen“ :smiley:
Schaut gut aus…

Danke,

bevor ich was in die Produktivumgebung setze muss es mit allen Features getestet werden.

Folgende Browser habe ich getestet.

FF3.x: funktioniert
FF4.x: funktioniert
IE9: funktioniert
iPhone: funktioniert aber nicht sinnvoll
iPad: Funktioniert ca. 2Sekunden Ladezeit bei 4 Graphen in der Tagesansicht
IFront: funktioniert

Alle anderen habe ich nicht :smiley:

Hab auch grad mal meinen Browserzoo gequält: Ergebnis sehr durchwachsen.
Die Config ist Out-of-the BOX nur die Script u. Variablen ID angepaßt.

Mal mit aktiver IPS.js, mal mit gray.js.
Mal mit tmp-Filevariante, mal ohne.

Fazit: Chrome und IE9 bringen immer saubere Ergebnisse.
Opera und FF3.6 kommen immer mal durcheinander, renderen keine Transparenz, gibt Fehler der Darstellung, bis bringen gar kein Bild sonderen nur ein kurzes weißes aufflackern.

Müßte das direkt in einer Tabelle darstellen, wann was passiert. Ist sehr verwirrend.

DolphinHD am Samsung Galaxy geht gar nicht (kurzes weißes aufflackern)
Opera am Galaxy funktioniert.

Da soll sich noch jemand auskennne.:rolleyes:
Scheinbar muß man sich mal wieder für jeden Browser eine handgestrickte Template Datei bauen.

gruß
bb

Sehr schön die Möglichkeit nun alle Config Parameter in der Originalsyntax direkt verwenden zu können.
Hab mir in der V1.0001 einen abgebrochen um meine gewohnten Linienfarben zu erhalten, und auch sonst vieles per Template weggepatched.

Wenn das IPS HQ nun noch irgendwann mal eine akzeptable Reorganisation der MySQL Datenbank anbieten kann das echt eine Alternative werden. So wie jetzt ist ja vorbestimmt das es irgendwann mal in die Hose geht, siehe die vielen „Hilfe ich hab eine 1Gig Datenbank“ Posts.

gruß
bb

Hallo zusammen,
also in meinem Fall muss es die Kombination aus der Datenmenge von 10 Temperaturwerten und einer zeitlichen Ladebeschränkung aus entweder dem iOS / Safari heraus oder vielleicht, was ich aber eigentlich nicht glaube, dem Webserver des Webfronts sein.

Ist auf IPS Seite irgendeine Limitation in dieser Hinsicht bekannt/vorgesehen ?
Nein, oder ?

Die APP nimmt die Temperatur- / Luftfeuchtigkeitsgraphen ganz locker und hat keinerlei Probleme mit den Daten. Auch die Ladezeiten sind absolut OK.

Ich habe gerade noch einmal die Ladezeiten meiner 3 Temperaturgraphen auf dem Safari am PC geprüft und 11, 19 und 29 Sekunden beim initialen anzeigen (3,16,21 beim Reload) gewartet bis sich alle 3 Graphen komplett untereinander aufgebaut hatte (FF4 braucht 13, 18, 23 Sekunden beim ersten laden dieser Daten und 6,9,11 Sekunden beim Refresh). Dies ist natürlich elendig lang und das Apple ja soviel wert auf Geschwindigkeit legt wäre eine eingabaute Funktion im iOS nicht ganz ungewöhnlich wenn Webseiten so lange zum laden brauchen.

Am PC kam jedoch keine Fehlermeldung wie z.B auf dem Apple iPad das eine Zeit überschritten worden sei.

Hier ruhen meine Hoffnungen nun auf Werner der vielleicht ein solches Verhalten bestätigen kann und das iOS in den Fokus der Untersuchungen bei grossen Datenmengen rücken könnte.

Klar kann man das in den Griff bekommen indem man mehrere Graphen baut…aber Highchart kann das ja…also muss es doch zum fliegen zu bekommen sein :slight_smile:

Gruss & happy Release week.

B71

Da ja gerade einiges im Bezug auf Performance- und Browser-Tests läuft hier ein guter Link um mit verschiedenen Charttypen und Datenmengen zu testen.

Highcharts Performance Test