[FHEM-Tablet-UI] Chart

Begonnen von RoBra81, 18 Dezember 2015, 13:42:10

Vorheriges Thema - Nächstes Thema

sn0000py

Gibt es schon eine Lösug für das data-cursorgroup ?

eki

Müsste eigentlich funktionieren. Hast Du die Cursor bei beiden Charts denn auch eingeschaltet (auf den Text Cursor klicken)

sn0000py

ah okay, ja so funktioniert es, ich dachte ich kann mir die Buttons beim zweiten sparen, da habe ich das nobuttons drinnen.

aber wenn ich den cursor einschalte oder per data-crosshair="true" dann funktioniert es

uwirt

#213
Die Fonts für rund um das chart sind leider völlig anders als die anderen welche in ftui habe.

Kann mir jemand sagen wo ich das anpassen kann?
FHEM / Ubuntu / fitlet2
HomeMatic: CCU3|HmIP-STHD|HmIP-PCBS|HmIP-PCBS2|HmIP-PCBS-BAT|HM-WDC7000|HM-WDS100-C6-O|HM-WDS40|HM-LC-Sw1-FM|HM-LC-RGBW-WM|HM-ES-PMSw1-Pl|HM-ES-TX-WM
NAS: DS218+|DS209j|DS216+II|DS412+
Devices: Panasonic Webcams|Withings|Gardena Smart|Tuya

eki


kalle86

ich bekomme beim öffnen des charts folgende Fehlermeldung angzeigt:
widgt_chart.js:4437 Type Error: window.checkResizeListener is not a function

Die Fehlermeldung wir bei einem meiner Tablets angezeigt und bei meinem Notebook.
Was mich verwundert ist, das ich bei meinem anderen Tablet keine Fehlermeldung angezeigt bekomme....  :o

    <div data-type="chart"
         data-device='["Wohnzimmer_Thermostat_Climate","Heizkreis1"]'
         data-logdevice='["FileLog_Wohnzimmer_Thermostat","Heizkreis1_Log"]'
         data-logfile="-"
         data-columnspec='["4:measured-temp","4:level"]'
         data-style='["ftui l0","ftui l5dot"]'
         data-ptype='["quadraticSmooth","steps"]'
         data-uaxis='["primary","secondary"]'
         class="normal nobuttons"
         data-width="700px"
         data-height="130px"
         data-minvalue="17"
         data-maxvalue="26"
         data-yticks="2"
         data-xticks="180"
         data-daysago_start="1"
         data-ytext="Temperatur"
         data-ytext_sec="Schaltzustand">
</div>


Ich glaube nicht das es am Code liegt. Ich hoffe ihr könnt mir da weiter helfen...

Gruß
Kalle

amenomade

Bei mir ist in widget_chart.js der Aufruf von window.checkResizeListerner in der Zeile 4439
Hast Du die Datei irgendwie editiert?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

kalle86

hatte anscheinend nicht die aktuellste Version.
Habe nun auf die aktuelle Version upgedated und bekomme nun auch den Fehler in Zeile 4439 angezeigt.

Lässt sich das beheben, bzw. was will mir diese Fehlermeldung sagen?

Gruß
Kalle

eki

Ich habe eine neue Version hier https://forum.fhem.de/index.php/topic,48450.msg401006.html#msg401006 eingestellt. Kann mal jemand schauen, ob es damit weg ist.

curt

@eki
Ich möchte eine (ggf. mehrere) waagerechte Linien in einen Chart einziehen.

Mir ist klar, wie Gitter funktioniert, ich meine etwas anderes: Eine möglicherweise fette, möglicherweise rote waagerechte Linie, deren Wer ist selbst bestimme.

Geht das jetzt schon irgendwie?
RPI 4 - Jeelink HomeMatic Z-Wave

eki

Ja, das geht mit logproxy (gern auch mal das Wiki dazu anschauen). Die Definition sollte in Etwa so aussehen (davon ausgehend, dass in FHEM ein logProxy Device existiert, das "logP" heißt und dass es ein Device mit dem Namen "test" gibt in dessen Reading "tval" der zu plottende Wert steht. Falls Du wirklich eine Kostante fest vorgeben willst, kannst Du natürlich statt "ReadingsVal..." auch einfach eine Zahl einfügen):

data-logdevice = "logP"
data-columnspec = "ConstY:ReadingsVal(\"test\",\"tval\",\"0\")"

Dracolein

Auf die Gefahr, dass meine Frage sicher schon gestellt wurde, ich jedoch die Antwort nicht finden konnte möchte ich gern folgendes erfragen:

Mein Chart soll Werte der letzten 30 Tage darstellen. Die FileLog Dateien sind monatlich abgespeichert, d.h. seit dem 01. März wird in die Datei "Log_Gaszaehler2359-2020-03.log" täglich 1 Wert geschrieben. Zuvor hieß die (noch immer existente!) Datei "Log_Gaszaehler2359-2020-02.log"

Heute sehe ich jedoch im Chart ausschließlich Daten beginnend dem 01. März. Die Werte der vorherigen Datei werden nicht dargestellt.

Hier der HTML-Code:


                               <div data-type="chart"
                                data-device="Gaszaehler"
                                data-logdevice='["Log_Gaszaehler2359","Log_Durchschnittstemp"]'
                                data-columnspec='["4:EnergyCostDay2359:","4:Tagesdurchschnittstemperatur:"]'
                                data-style='["ftui l2","ftui l4fill"]'
                                data-ptype='["lines","lines"]'
                                data-uaxis='["primary","secondary"]'
                                data-legend='["Gaskosten [EUR]","Außentemp[°C]"]'
                                data-legendpos="right"
                                data-showlegend="true"
                                data-yunit="€"
                                data-ytext="Gaskosten"
                                data-minvalue="1"
                                data-maxvalue="10"
                                data-yunit_sec="°C"
                                data-ytext_sec="Außentemp"
                                data-height="350"
                                data-yticks="auto"
                                data-minvalue_sec="-5"
                                data-maxvalue_sec="30"
                                data-nofulldays="true"
                                data-daysago_start="30d"
                                data-daysago_end="-1"
                                data-cursorgroup="1"
                                data-scrollgroup="1"
                                data-xticks="auto">
                                </div>
   

Muss ich das FileLog etwa ändern auf 1 Datei pro Jahr ? (wobei sich dann mein Problem auf den Jahreswechsel verschieben würde)
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

eki

Ja, die Frage wurde schon mehrfach gestellt. Das Problem ist nicht das Chart sondern FHEM und dort die FileLog Get Funktion. Es gibt verschiedene Möglichkeiten:

1. Im FileLog das Attribut createGluedFile setzen. Das wird aber bei großen Dateimengen manchmal etwas langsam. Außerdem habe ich festgestellt, dass das Feature von FHEM irgendwie noch relativ viele Probleme macht. Abhängig von den genauen Start und Endwerten klappt es manchmal und manchmal nicht. Ich werde das mal ins Forum schreiben, vielleich kann Rudi da ja was verbessern.
Damit dieser Fall funktioniert, musst Du auf jeden Falls data-logfile="CURRENT" zu Deiner Definition dazu fügen.

2. Du machst 2 Graphen mit verschiedenen Logfiles im gleichen Chart, das müsste man dann aber jeden Monat ändern (ist nicht sehr praktikabel, fürchte ich).

3. Eventuell geht das auch mit logproxy, habe ich aber nicht genauer untersucht.

Ich könnte natürlich im Chart irgendetwas einbauen, das versucht, die jeweiligen richtigen Logfiles zu holen, das wäre aber recht kompliziert udn würde wahrscheinlich auch nicht immer funktionieren. Ich werde erst mal versuchen das Problem mit "createGluedFile" zu klären.

Dracolein

OKay danke.
Ich werde die betreffenden Logfiles bis auf Weiteres auf jährlich verändern, damit hält sich das "Problem" dann erstmal in Grenzen.
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

eki

probiers erst mal mit data-logfile="CURRENT", das wird zumindest einen Teil des Problems lösen (nur wenn mehrere Logfiles gleichzeitig in einem Plot vorkommen, habe ich die Probleme gesehen, außerdem habe ich festgestellt, dass Rudi im FileLog eine Korrektur gemacht hat, eventuell verbessert das das Problem auch schon). In der nächsten Chart Version wird data-logfile="CURRENT" auch der default sein.

P.S.: wenn du damit noch ein bisschen rumtestest, dann hilft mir das auch um mögliche weitere Probleme im Chart zu erkennen und zu beseitigen.