Neues Charting / Plotting - GUI Redesign?

Begonnen von Johannes, 20 Januar 2013, 12:06:52

Vorheriges Thema - Nächstes Thema

Johannes

Zitat von: Puschel74 schrieb am Di, 09 April 2013 19:18Oder wie löst ihr das wenn ihr die Vorlauftemp. der Heizung (ca. 40°C) und den Gasverbrauch (ca. 0.04 m3) in einem
Chart darstellen wollt?

Geht zur Zeit nicht wie gewünscht, also nur mit einer Skala, so dass die Werte u.U. dann weit auseinander liegen.
Kannst ja aber dafür voten, wäre dann Punkt 1.

Grüße,
johannes

ThorstenH

Zitat von: Johannes schrieb am Di, 09 April 2013 19:42Zur Funktion:
Ist Steps aktiviert, wird zwischen 2 Messwerten ein zusätzlicher Messwert eingefügt. Dieser hat den selben Wert wie der folgende, liegt aber zeitlich 1 Sekunde vor diesem. Dadurch werden die Treppenstufen dargestellt. Dadurch werden allerdings die angezeigten Punkt quasi verdoppelt. Ein Chart mit Steps wird daher minimal langsamer dargestellt wie der selbe Chart ohne Steps.

Ist es möglich, die kleinen Punkte für diese "eingefügten" Werte wegzulassen, um so darzustellen, dass es sich um keine echten Messwerte handelt? Ich untersuche gerade ein Problem mit meinen HM-CC-TC/VD Gespannen. Dabei sind die neuen Charts eine super Hilfe, jedoch würden die eingefügten Messwerte dabei ziemlich Verwirrung stiften.

Generell +1 für die Steps! Danke :-)

Puschel74

Hallo

ZitatGeht zur Zeit nicht wie gewünscht, also nur mit einer Skala, so dass die Werte u.U. dann weit auseinander liegen.
Kannst ja aber dafür voten, wäre dann Punkt 1.

Schon erledigt ;-)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ThorstenH

Die Stepfunktion liefert mir komische Kurven. Sieht aus, als liefen die im Kreis.


(siehe Anhang / see attachement)


Was machst du eigentlich, wenn an Tag X nur ein Messwert vorhanden ist? Berücksichtigst du da den letzten Wert aus Tag X-1 und den ersten Wert am Tag X+1?

Johannes

bitte zeig mir mal die werte des grünen datensatzes, wie sie in der Datenbank liegen oder beim Frontend ankommen

Johannes

Zitat von: ThorstenH schrieb am Di, 09 April 2013 20:49Was machst du eigentlich, wenn an Tag X nur ein Messwert vorhanden ist? Berücksichtigst du da den letzten Wert aus Tag X-1 und den ersten Wert am Tag X+1?
Nein, da diese Information gar nicht vorhanden ist und zusätzlich abgefragt werden müsste. Gibt es also nur einen wert pro Zeiteinheit, gibts auch keinen step.

ThorstenH

Zitat von: Johannes schrieb am Di, 09 April 2013 20:53bitte zeig mir mal die werte des grünen datensatzes, wie sie in der Datenbank liegen oder beim Frontend ankommen

Meinst du den JSON Stream?[{"TIMESTAMP":"2013-04-09 10:05:45","VALUE":"6.0"},{"TIMESTAMP":"2013-04-09 10:05:46","VALUE":"6.0"},{"TIMESTAMP":"2013-04-09 10:05:47","VALUE":"6.0"},{"TIMESTAMP":"2013-04-09 12:46:58","VALUE":"17.5"},{"TIMESTAMP":"2013-04-09 12:46:58","VALUE":"17.5"},{"TIMESTAMP":"2013-04-09 12:46:59","VALUE":"17.5"},{"TIMESTAMP":"2013-04-09 13:37:57","VALUE":"18.5"},{"TIMESTAMP":"2013-04-09 13:37:58","VALUE":"18.5"},{"TIMESTAMP":"2013-04-09 13:37:59","VALUE":"18.5"},{"TIMESTAMP":"2013-04-09 14:49:30","VALUE":"6.0"},{"TIMESTAMP":"2013-04-09 14:49:31","VALUE":"6.0"},{"TIMESTAMP":"2013-04-09 14:49:32","VALUE":"6.0"},{"TIMESTAMP":"2013-04-09 21:44:58","VALUE":"18.5"},{"TIMESTAMP":"2013-04-09 21:44:59","VALUE":"18.5"},{"TIMESTAMP":"2013-04-09 21:44:59","VALUE":"18.5"},{"TIMESTAMP":"2013-04-09 21:45:03","VALUE":"17.5"},{"TIMESTAMP":"2013-04-09 21:45:04","VALUE":"17.5"},{"TIMESTAMP":"2013-04-09 21:45:05","VALUE":"17.5"}]

EDIT: waren die falschen Daten (oben korrigiert)

Johannes

Zitat von: ThorstenH schrieb am Di, 09 April 2013 22:31Meinst du den JSON Stream?

Jup, genau den meinte ich. Auffällig ist, dass die Daten lange Pausen haben, dann aber im Abstand von einer Sekunde 3 Messwerte mit identischem Wert haben. Was ist das für ein Sensor, der solche Daten ausspuckt?

Bitte probiere mal folgendes aus:

Gehe in die Datei ChartController.js ( unter app/controller ) in die Zeile 421. Die sieht aktuell so aus:


var modtimestamp = Ext.Date.add(datetomodify, Ext.Date.SECOND, -1);


Ersetze darin mal bitte das SECOND durch MILLI

Datei speichern und Frontend reloaden, am besten noch Cache leeren im Browser.
Dann schau mal, ob sich das Problem löst.
Ich habe mal mit deinen Daten experimentiert, kriege aber eine normale Anzeige, kann das Problem also noch nicht nachvollziehen.
Bitte prüf mal ob obiges hilft, wenn nicht, brauche ich genaue Angaben wann das Problem auftritt.
z.B. auch, wenn man nur eine Achse anzeigt (die grüne). Gibt es noch andere Achsen / Devices / Messreihen mit dem selben Problem?
Bitte möglichst detailiert, dann haben wir eine Chance das einzukreisen.

PS: Auch ein Screenshot deienr Charteinstellungen könnte helfen. Ist die Generalisierung aktiviert?

Grüße,
Johannes


ThorstenH

Das ist ein HM-CC-TC. desired-temp wird nur dann gesendet, wenn meine Frau an dem Einstellrädchen für die Temperatur dreht.

MILLI hat nicht geholfen.

Ich habe mal nur die "T" dargestellt: funktioniert.
Dann dazu noch "desired-temp": funktioniert.

(siehe Anhang / see attachement)


Dann "steps" aktiviert: funktioniert nicht mehr.

(siehe Anhang / see attachement)


Dabei ist bemerkenswert, dass ungefähr auf Höhe der oberen grünen Punkte eine rote Linie verläuft (gehört zur "T" Kurve". Die grüne steps Kurve ist meiner Meinung nach in diesem Bild OK.

Keine Generalisierung.


Johannes

Zitat von: ThorstenH schrieb am Do, 11 April 2013 00:34Ich habe mal nur die "T" dargestellt: funktioniert.
Dann dazu noch "desired-temp": funktioniert.
Dann "steps" aktiviert: funktioniert nicht mehr.
... Die grüne steps Kurve ist meiner Meinung nach in diesem Bild OK.

So kann ich nicht helfen. Du sagst "funktioniert nicht mehr", sagst dann aber, sieht ok aus. Ich sehe und lese keine Probleme. Bitte konkreter ausdrücken, "geht nicht" ist so präzise wie beim Arzt "hab aua".


ThorstenH

Sorry, ich wollte sagen, dass die letzten Screenshots einen neuen Fall darstellen, der aber meiner Meinung nach mit steps zu tun hat. Die eigentliche "step Kurve" in grün scheint ok, aber nach Einschalten der step Funktion für grün erscheint "T" (rot) seltsam (die rote Linie auf Höhe der grünen Punkte).

Hier nochmal ein Screenshot mit diesen seltsamen Effekten nach Einschalten der Steps Funktion:


(siehe Anhang / see attachement)


Hier ohne steps:


(siehe Anhang / see attachement)


json1.txt enthält die streams aus firebug mit steps. json2.txt die ohne steps.

Deutlich zu erkennen: die rote läuft zu einem Punkt "zurück", der vorher nicht da war. Die grüne Linie hat einen zusätzlichen Punkt bei 00:00:00.

Johannes

Ok, damit kann ich was anfangen.
Die beiden JSON Dateien sollte eigentlich genau gleich aussehen, da die Steps im CLient gemacht werden, die Daten aus der Datenbank müssen immer gleich sein. Da hast du evtl. was falsches kopiert.
Ausserdem:
Deine Daten aus json2 (und json1) enthalten einen Berg nicht parsbarer Daten, z.B.

"VALUE":"18.3 H: 56"

Da scheint DbLog noch nicht klug genug zu sein, die Daten des Sensors richtig zu parsen. Solltest du mal im entsprechenden Subforum anmerken, damit das evtl. jemand fixt.
Diese Daten sollten eigentlich garnicht darstellbar sein. Ich mache im Code ein parseInt bzw. ParseFloat auf diese Daten, daher zeigt er dir etwas an, aber das ist in deinem Falle dann eher nicht das korrekte Ergebnis. Ich kann leider nicht erkennen, von welchem Gerät die kommen, dass müsstest du herausfinden.
Dann sind unten in der json2 noch zig Werte mit ausschließlich 0-Werten.

Damit könnte also nur der mittlere Mini Teil in grün funktionieren, der Rest macht eigentlich keinen Sinn.

Das selbe gilt auch für json1, nur das da scheinbar noch ein Achse fehlt.


Mein Tipp:
Das ganze erstmal isolieren. Schauen, welches Gerät die komischen Values schickt, alle Daten erstmal einzeln darstellen lassen, schauen ob Probleme auftreten, oder ob das nur in Kombination passiert.

Grüße

ThorstenH

Nicht parsebare Daten:
Die kommen vermutlich vom HM-CC-TV. Im Log sehen die so aus:
"2013-03-29_17:27:51 thermostat_wohnzimmer T: 20.5 H: 33"und stellen Isttemperatur und humidity dar. Es sind also eigentlich zwei Werte. Parseint/parsefloat sollte dabei immer den ersten Wert liefern (Javascript?), in meinem Fall also OK, da ich die "T" Werte darstellen möchte.

Ich vermute, im json2.txt waren noch Daten enthalten, die in den Auswahlboxen landen. Ausserdem fehlte wohl der stream vom HM-CC-VD (das ist der mit den vielen Nullen, wobei nicht alle Null sind).

Isoliert:
Temperatur ("T") dargestellt: ok
desired-temp hinzugefügt    : ok
desired-temp steps aktiviert: fehlerhafte Darstellung von "T" wie vorher schon mal beschrieben


Johannes

@ThorstenH: Problem gefunden. Ist im nächsten Update behoben.
Das bringt auch die zusätzliche Y-Achse mit und erweitert die Charts um Columns (Säulen).

Geht dann grob in diese Richtung:

(siehe Anhang / see attachement)

Puschel74

Hallo,

ich mal wieder - entweder steh ich mit dem Frontend auf Kriegsfuss oder umgekehrt.
Oder das Problem sitzt mal wieder zwischen Bildschirm und Tastatur.

Ich habe am 10.04 um ca. 20 Uhr ein update auf 5.4 gemacht.
Im Frontend werden seit diesem Zeitpunkt nur noch Charts angezeigt welche die Daten meines RasPi-1 (Haupt_RasPi) liefern.
Am DB-RasPi habe ich 3 I2C-Sensoren dran welche auch brav in ihr eigenes Logfile schreiben aber der Chart wird leider nicht
angezeigt.
An diesem einen Screenshot sieht man es schön:


(siehe Anhang / see attachement)


Blau ist die Wasserpumpe (die Daten kommen vom RasPi-1).
Rot und Grün sind jeweils ein I2C-Sensor am DB-RasPi.
Hier ein Auszug aus dem Logfile:

Zitat2013-04-12_18:01:46 Sensor_3 temperatur: 39.0 °C
2013-04-12_18:04:16 Sensor_3 temperatur: 43.5 °C
2013-04-12_18:06:46 Sensor_3 temperatur: 45.5 °C
2013-04-12_18:09:25 Sensor_3 temperatur: 46.5 °C
2013-04-12_18:11:46 Sensor_3 temperatur: 47.0 °C
2013-04-12_18:14:19 Sensor_3 temperatur: 46.0 °C
2013-04-12_18:16:46 Sensor_3 temperatur: 43.5 °C
2013-04-12_18:19:16 Sensor_3 temperatur: 40.5 °C

Und nun was total eigenartiges:
In der Database Table ist der letzte Eintrag am 07.04.2013


(siehe Anhang / see attachement)


Es funktionieren hier aber ALLE Charts (bis auf die 3 vom RasPi-2) obwohl keine Einträge in der Table stehen.


(siehe Anhang / see attachement)


Tipps was ich wo noch schauen oder machen könnte sind gern gesehen.

Danke mal wieder für Eure Hilfe.

Grüße

P.S.: Beide RasPi haben fhem-version 5.4 drauf. Ich habe nach dem Update von fhem auch ein update des Frontends angestossen.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.