[FHEM-Tablet-UI] Chart

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

Vorheriges Thema - Nächstes Thema

Dracolein

Feedback:
Deine genannte Option funktioniert. Allerdings nur in Kombination mit "createGluedFile=1" im FileLog Device.

Ohne createGluedFile=1:
Im Plot wird nur die alte Logfile ausgelesen, in meinem Beispiel vom Februar 2020.

Mit createGluedFile=1:
Im Plot wird die alte und die neue Logfile gemeinsam ausgelesen
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;

kalle86

Zitat
Autor: eki
« am: 01 März 2020, 13:18:32 »

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.

ich bin leider jetzt erst dazu gekommen die neue Version zu teste.
Fazit: Gleiche Fehlermeldung, nur eine andere Zeile....

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

uron

Ich klinke mich mal hier ein, da mein Problem thematisch sicher hier gut aufgehoben ist:
Die Darstellung meiner Plots unter FTUI ist viel zu schmal (s. Anlage).
Dieser Fehler taucht nur auf dieser Seite auf wobei die Menüleiste im korrekten Größenverhältnis dargestellt wird.
ich schließe daraus, dass, da kein globales Problem auftritt, es mit dem Chart selbst zu tun hat - aber, das gleiche Chart zeigt mein Firefox (PC) formatfüllend.
Im Programmiercode kann ich keine Angaben zum Format erkennen:
<!DOCTYPE html>
<html>
<head></head>
<body>
<div class="page" id="1_Heizung">
    <div class="gridster">
        <ul>
            <li data-row="1" data-col="1" data-sizex="9" data-sizey="10">
                <header>Heizung</header>
                <div class="chart">
                   <div class="row">
<div class="cell">
                            <div data-type="chart"
data-device="Gasheizung"
data-logdevice="HeizungsLog"
data-logfile="CURRENT"
data-columnspec='["Gasheizung:WW-Solltemperatur","Gasheizung:WW-Isttemperatur","Gasheizung:Kesseltemperatur","Gasheizung:Aussentemperatur","Gasheizung:Brenner_Modulation"]'
data-style='["ftui l6dot","ftui l6","ftui l0","ftui l4","ftui l2"]'
data-ptype='["lines","lines","lines","lines","cubic"]'
data-legend='["WW-Solltemperatur","WW-Isttemperatur","Kesseltemperatur","Außentemperatur","Brenner-Modulation [%]"]'
data-daysago_start="1"
data-daysago_end="-1"
data-showlegend="true"
data-minvalue="-20"
data-maxvalue="80"
data-minvalue_sec="0"
data-maxvalue_sec="100"
data-yunit="°C"
data-ytext="Temperatur"
data-yunit_sec="%"
data-ytext_sec="Prozent"
data-uaxis='["primary","primary","primary","primary","secondary"]'>
</div>
</div>
          </div>
                   <div class="row">
                        <div class="cell">
                            <div data-type="chart"
data-device="Gasheizung"
data-logdevice="HeizungsLog"
data-logfile="CURRENT"
data-columnspec='["4:HK1-Vorlauftemperatur.:0:","4:HK2-Vorlauftemperatur.:0:","4:HK1-Zirkulationspumpe:0:$fld[3]=($fld[3]=~\\x22on\\x22?28:0)","4:HK2-Zirkulationspumpe:0:$fld[3]=($fld[3]=~\\x22on\\x22?27:0)","3:KG_Funkschalter_ZirkuPumpe:0:$fld[2]=($fld[2]=~\\x22on\\x22?26:0)"]'
data-yticks_sec='[[20,"off"],[28,"on"]]'
data-style='["ftui l0","ftui l1","ftui l2","ftui l4","ftui l6fill"]'
data-ptype='["lines","lines","lines","lines","histeps"]'
data-legend='["VL Heizkörper","VL Fussbodenheizung","Pumpe Heizkörper","Pumpe FBH","WW-Zirku-Pumpe"]'
data-uaxis='["primary","primary","secondary","secondary","secondary"]'
data-minvalue="20"
data-maxvalue="70"
data-minvalue_sec="20"
data-maxvalue_sec="70"
data-daysago_start="1"
data-daysago_end="-1"
data-showlegend="true"
data-yunit="°C"
data-ytext="Temperatur"
data-ytext_sec="Pumpenstatus">
</div>
  </div>
      </div>
          </div>
     </li>
</ul>
</div>
</div>
</body>
</html>

ebenfalls im .gplot-File nicht
# Created by FHEM/98_SVG.pm, 2020-10-20 06:15:36
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'VL-Temperaturen und Pumpenstatus'
set ytics
set y2tics "on" 30, "off" 20
set grid ytics
set ylabel "Termperaturen"
set y2label "Status"
set yrange [20:70]
set y2range [20:70]

#HeizungsLog 4:Gasheizung.HK1-Vorlauftemperatur\x3a::
#HeizungsLog 4:Gasheizung.HK2-Vorlauftemperatur\x3a::
#HeizungsLog 4:Gasheizung.HK1-Zirkulationspumpe\x3a::$fld[3]=($fld[3]=~'on'?31:0)
#HeizungsLog 4:Gasheizung.HK2-Zirkulationspumpe\x3a::$fld[3]=($fld[3]=~'on'?29:0)
#HeizungsLog 3:KG_Funkschalter_ZirkuPumpe.*::$fld[2]=($fld[2]=~'on'?28:0)
#HeizungsLog 4:EG_Heizkoerperthermostat_Buero.valveposition\x3a::

plot "<IN>" using 1:2 axes x1y1 title 'VL Heizkörper' ls l4 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'VL FBH' ls l5 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'VL-Pumpe Heizkörper' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'VL-Pumpe FBH' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Zirku-Pumpe WW' ls l2fill lw 1 with steps,\
     "<IN>" using 1:2 axes x1y2 title 'Thermostat HK Büro' ls l3 lw 1 with lines

oder übersehe ich etwas?
Kürzlich wurden die Grafiken noch korrekt angezeigt; ich hatte in den vergangenen Tage ein wenig an der Zeile 'data-columnspec' des 2. Chart gearbeitet. Irgendwann danach bemerkte ich später die Grafikänderung - muss aber nicht damit zusammenhängen.

Hat jemand einen Tipp?
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

eki

Kannst Du mal probieren, ob sich was ändert, wenn Du bei den Chart divs noch class="fitsize" hinzufügst.

uron

Uuuii, dann schrumpft die Höhe der Graphen auf jeweils ca. 1 cm, nur die Legenden bleiben gleich groß  :-\
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

eki

Das hört sich jetzt so ein bisschen wie Stochern im Dunklen an, aber ich kenne leider zu wenig von Deiner Umgebung (welcher Browser, wie sieht Dein Gesamtaufbau aus, welche Version von FTUI und Chart, ...) aber versuche mal die folgenden beiden Parameter bei den Chart divs:

data-width="100%"
data-height="50%"

uron

Wieder einmal Danke eki für deine Mühe,
ich habe bereits heute Morgen bis gerade ebend in mühevoller Kleinarbeit versucht, meine Änderungen auf Basis eines Backups von vor 10 Tagen zurückzuverfolgen.
Dabei ist mir irgendwann aufgefallen, dass ich unter dem <header> statt
<div class="sheet"> den Code
<div class="chart">
verwendet habe. Das lässt sich am Ende dann leicht rekonstruieren und die beiden Versionen vergleichen.
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

zebbl0815

Moin Moin...

ich hab da mal ein Problem wo ich nicht weiterkommen... Ich hab folgendes Widget erstellt:
<div data-type="chart" data-device="Stromzaehler1" data-logdevice="Stromzaehler1Log" data-logfile="-" data-columnspec='["Stromzaehler1:Leistung\\x3a","Stromzaehler1:ZStandHourLast\\x3a"]'
data-style='["ftui l0","ftui l2"]' data-uaxis='["primary","secondary"]' data-ytext="Leistung" data-yunit="W" data-ytext_sec="Verbrauch" data-yunit_sec="kWh"
data-legend='["Leistung Haus","Verbrauch Haus"]'></div>

Dieses flutet mir das FHEM-Log mit dieser Fehlermeldung:
PERL WARNING: Argument "Stromzaehler1" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 884, <GEN32596> line 19

Woran liegt das? Ich sehe nur Zahlen mit denen gearbeitet wird. Das Diagramm wird auch richtig angezeigt...

MfG zebbl


eki

Ich vermute das kommt von der columnspec. Die sieht für mich nach LogDB aus, da Du ja offensichtlich Logfiles verwendest (zumindest kommt daher die Fehlermeldung), musst Du bei columnspec noch eine Zahl an den Anfang stellen, die besagt, in welcher Spalte (beginnend bei 1, Trenner is das Leerzeichen) das auszulesende Datum steht. Also so etwas wie:


data-columnspec='["x:Stromzaehler1.Leistung\\x3a","x:Stromzaehler1.ZStandHourLast\\x3a"]'


Was das x ist musst Du selbst anhand Deiner Logeinträge feststellen.

doc.

#234
Hallo zusammen,

ich hatte ein über lange Zeit funktionierendes Diagramm zur Darstellung des "Intraday"-Windwetters. Seit ein paar Wochen (genau kann ich es leider nicht sagen) war mir aufgefallen, daß die Beschriftungen der Y-Achsen nicht mehr angezeigt werden. Ich dachte, es hätten sich vielleicht die Daten von Proplanta geändert, aber nein, die Daten kommen im selben Format wie immer und werden auch korrekt aufgetragen. Nur werden eben die Y-Achsen nicht mehr beschriftet, der Code ist wie folgt:

<div class="normal"
data-type="chart"
data-logdevice='["logProxy","logProxy","logProxy"]'
data-logfile="CURRENT"
data-columnspec='["Func:logProxy_proplanta2Plot(\\x22WetterFC\\x22,\\x22wind_\\x22,$from,$to,0,\\x22hour\\x22)","Func:logProxy_proplanta2Plot(\\x22WetterFC\\x22,\\x22gust_\\x22,$from,$to,0,\\x22hour\\x22)","Func:logProxy_proplanta2Plot(\\x22WetterFC\\x22,\\x22windDir_\\x22,$from,$to,0,\\x22hour\\x22)"]'
data-style='["ftui l6","ftui l5","ftui l4"]'
data-ptype='["quadraticSmooth","quadraticSmooth","quadraticSmooth"]'
data-uaxis='["primary","primary","secondary"]'
data-legend='["Windgeschwindigkeit","max Wind","Windrichtung"]'
data-yunit="km/h"
data-ytext="Wind km/h"
data-minvalue="0"
data-maxvalue="120"
data-yticks='[[0,"0 Bft"],[1.85,"1 Bft"],[7.41,"2 Bft"],[12.96,"3 Bft"],[20.37,"4 Bft"],[29.63,"5 Bft"],[40.74,"6 Bft"],[51.86,"7 Bft"],[62.97,"8 Bft"],[75.93,"9 Bft"],[88.9,"10 Bft"],[103.71,"11 Bft"],[118.53,"12 Bft"]]'
data-yunit_sec="Grad"
data-ytext_sec="Windrichtung Grad"
data-yticks_sec='[[0,"Nord"],[90,"Ost"],[180,"Süd"],[270,"West"]]'
data-yticks_prio="secondary"
data-minvalue_sec="0"
data-maxvalue_sec="360"
data-nofulldays="true"
data-daysago_start = "0"
data-daysago_end = "-1"
data-crosshair="true"
data-cursorgroup="1"
data-scrollgroup="1"
data-showlegend="true"
data-height="300"
data-xticks="auto">
</div>


Hat jemand eine Ahnung ob sich da was am Widget geändert hat?

Gruß,
doc.

eki

Kannst Du mal schauen, was passiert, wenn Du die Werte bei den Ticks auch in Anführungszeichen setzt?

Also:
data_yticks='[["0","0 Bft"...

doc.

Zitat von: eki am 27 Dezember 2021, 11:51:03
Kannst Du mal schauen, was passiert, wenn Du die Werte bei den Ticks auch in Anführungszeichen setzt?

Leider keine Änderung...wenn ich es auf auto stelle, dann kommt die Standardbeschriftung, aber sobald ich versuche über data_yticks das array zu verwenden, sehe ich nur den untersten Wert. Ich hab jetzt sogar mal alle Einheiten etc. entfernt, es funktioniert schlicht nicht mehr...ich hab's jetzt sogar mal auf das Minimum reduziert:
<div class="normal"
data-type="chart"
data-logdevice='["logProxy","logProxy","logProxy"]'
data-logfile="CURRENT"
data-columnspec='["Func:logProxy_proplanta2Plot(\\x22WetterFC\\x22,\\x22wind_\\x22,$from,$to,0,\\x22hour\\x22)","Func:logProxy_proplanta2Plot(\\x22WetterFC\\x22,\\x22gust_\\x22,$from,$to,0,\\x22hour\\x22)","Func:logProxy_proplanta2Plot(\\x22WetterFC\\x22,\\x22windDir_\\x22,$from,$to,0,\\x22hour\\x22)"]'
data-style='["ftui l6","ftui l5","ftui l4"]'
data-uaxis='["primary","primary","secondary"]'
data-yticks_sec='[["0","Nord"],["90","Ost"],["180","Süd"],["270","West"]]'
>
</div>


Sobald ich die letzte Zeile hinzufüge (egal ob mit Anführungszeichen oder ohne), verschwinden alle Achsenbeschriftungen bis auf die erste (die 0 ganz unten).

eki

Also bei mir funktioniert das mit genau Deiner Definition einwandfrei (siehe angehängten Plot, der mit einer Kopie genau Deiner Definition gemacht wurde). Welche Chart Version benutzt Du (Datum bzw. Header Info im widget_charts.js File).

doc.

/* FTUI Plugin
* Copyright (c) 2015-2017 Kurt Eckert
* Under MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
/* Version 2.11.0
/* Compatible FTUI Version >= 2.7.2

/* global ftui:true, Modul_widget:true, Powerange:true */

eki

Kannst Du mal die angehängte Version nehmen (nach dem Austausch der Files musst Du möglicherweise den Browser Cache löschen, damit die Änderung wirksam wird).