FTUI Neue Version chart_widget

Begonnen von eki, 31 Januar 2016, 00:17:26

Vorheriges Thema - Nächstes Thema

Ban-ya

Hallo allerseits,
erst mal ein großes Lob an eki für das Modul.
Es läuft auch bei mir ganz toll.
Ausser ...
Ich habe mich mit PV beschäftigt und eine kleine Anlage aufgebaut.
Die grafische Darstellung der Ergebnisse von Momentanleistung und Gesamtertrag mit einer My Strom Steckdose funktionieren in FHEM gut.
Bei der grafischen Darstellung im FTUI mittels chart gibt es ein Problem. Die Darstellung des Momentanwertes sieht sehr eigenartig aus (siehe Bild).
Zum Test habe ich auch mal eine Grafik zum Gesamtertrag erstellt (soll später anders aussehen) und da sieht der Plot aus wie gewünscht.
Nur beim der Momentanleistung sieht alles ganz anders aus. Ich habe viel getestet aber keine Lösung gefunden. Vielleicht kann mich jemand aufvden richtigen Weg leiten.

Hier mein Code:
<li data-row="2" data-col="2" data-sizex="8" data-sizey="2">
<header>GARAGENKRAFTWERK-MOMENTAN</header>
<div data-type="chart"
data-device="Garagenkraftwerk"
data-logdevice="FileLog_Garagenkraftwerk"
data-logfile="Garagenkraftwerk-2022.log"
data-columnspec='["4:power"]'
data-style="ftui l0fill"
data-yunit="Watt"
data-ytext=""
data-height="250"
data-yticks="auto"
data-minvalue_sec="auto"
data-maxvalue_sec="auto"
</div>
</li>


<li data-row="4" data-col="2" data-sizex="8" data-sizey="2">
<header>GARAGENKRAFTWERK-GESAMTERTRAG</header>
<div data-type="chart"
data-device="Garagenkraftwerk"
data-logdevice="FileLog_Garagenkraftwerk"
data-logfile="Garagenkraftwerk-2022.log"
data-columnspec='["4:total_power_kWh"]'
data-style="ftui l0fill"
data-yunit="kWh"
data-ytext=""
data-height="250"
data-yticks="auto"
data-minvalue_sec="auto"
data-maxvalue_sec="auto"
</div>
</li>


Vielen Dank im Voraus
Uwe
Raspberry Pi2 B+, CC1101, FHEM 5.7, 7x HM-LC-Bl1PBU-FM, HM-Sec-SC-2 (opt), HM-Sec-SC-2 (reed), VU+ duo, VU+ solo2, IT-Dosen

OdfFhem

@Ban-ya

power in 4:power dient zur Bildung eines regulären Ausdrucks, der auf die ganze Logzeile angewendet wird. Dadurch passen alle Logzeilen, die power enthalten - also auch die mit den total-Werten.

Um sich auf die eigentlich interessierenden Logzeilen zu beschränken, muss der reguläre Ausdruck erweitert werden. Zwei (ungetestete) Möglichkeiten wären:
- den Gerätenamen ganz oder teilweise vor power aufnehmen ... 4:werk.power
- wie bei SVG üblich (s. gplot-Datei) den maskierten : hinter power aufnehmen ... 4:power\\x3a

Ban-ya

@OdfFhem

Vielen Dank  :)
Die erste Variante hats schon gebracht. Sowohl
4:Garagenkraftwerk.power
als auch
4:werk.power
funktionieren.
Nochmals vielen Dank für Deine Hilfe!

Raspberry Pi2 B+, CC1101, FHEM 5.7, 7x HM-LC-Bl1PBU-FM, HM-Sec-SC-2 (opt), HM-Sec-SC-2 (reed), VU+ duo, VU+ solo2, IT-Dosen

tomhead

Hallo zusammen, ich habe seit ca. 1 Jahr mit der aktuellen per Update verteilten widget_chart.js version (2.11.0) das Problem, dass sich auf meinen Tablets (1x Samsung Galaxy und 1x Amazon Fire Tablet) unter Fully die Charts nicht mehr automatisch aktualisieren. Damit das Chart sich aktualisiert, muss man die zugehörige FTUI Seite neu laden. Wenn ich dann unter /opt/fhem/www/tablet/js die widget_chart.js gegen die Version 2.10.0 austausche, geht die automatische Aktualisierung wieder. Hat jemand auch das Problem bzw. weiss jemand, woran das liegen könnte?

FHEM ist auf aktuellstem Stand.

Danke und Grüße

eki

Kannst Du mal hier mal die Version 2.10 posten, mit der das funktioniert? Dann kann ich vergleichen und den Fehler eingrenzen.

tomhead

Zitat von: eki am 01 Juli 2022, 08:06:23
Kannst Du mal hier mal die Version 2.10 posten, mit der das funktioniert? Dann kann ich vergleichen und den Fehler eingrenzen.

Hallo Eki, mit dieser Version geht es...

eki

Also bei mir funktioniert das Update grundsätzlich auch mit der neuesten Version. Kannst du auch mal Deine Chart Definition posten?

tomhead

Zitat von: eki am 04 Juli 2022, 11:03:43
Also bei mir funktioniert das Update grundsätzlich auch mit der neuesten Version. Kannst du auch mal Deine Chart Definition posten?

Hallo eki, hier die Zeilen aus FTUI, da habe ich 2 Diagramme, bei beiden das gleiche Problem mit der Aktualisierung:
<li data-row="1" data-col="4" data-sizex="8" data-sizey="2">
  <header>PV-Anlage</header>
  <div class="centered">

      <div data-type="chart" data-device="FBDECT_210_PV_Anlage_Garage" data-get="power" data-logdevice='["FileLog_FBDECT_210_PV_Anlage_Garage","FileLog_FBDECT_210_PV_Anlage_Dach"]' data-height="230" data-columnspec='["4:power","4:power"]' data-yunit="W" data-minvalue="0" data-maxvalue="1250" data-cursorgroup="1" data-style='["ftui l0fill","ftui l5fill"]' data-ptype='["lines","lines"]'></div>

   </div>
</li>


<li data-row="3" data-col="4" data-sizex="8" data-sizey="2">
  <header>Stromverbrauch</header>
  <div class="centered">

      <div data-type="chart" data-device="Stromzaehler_Modbus" data-get="power" data-logdevice="FileLog_Stromzaehler_Modbus" data-logfile="-" data-height="230" data-columnspec='["4:power"]' data-yunit="W" data-minvalue="-500" data-maxvalue="auto" data-style='["ftui l2"]' data-legend='["Verbrauch aktuell"]'></div>


  </div>
</li>

eki

#758
Auch mit Deiner Definition klappt das bei mir. Kannst Du mal schauen, ob bei Dir ein Unterschied mit der angehängten widget_chart.js Version zu sehen ist.

Eventuell wäre es noch interessant welche Update Methode Du nutzt um FTUI und FHEM zu synchronisieren (shortpoll, longpoll, websocket)?

tomhead

Hallo eki, ich benutze longpoll und websocket. Aber mit deiner widget_chart.js Version aus dem Anhang funktioniert es nun wieder einwandfrei.  ;D
Was hast du da geändert?
Danke und Grüße

eki

Da sind einige Fehler (Y-Achsenbeschriftung) korrigiert, aber nichts, von dem ich annehmen würde, dass das etwas mit den Updates zu tun hat.

Na ja, ich werde mal versuchen setstate zu überreden, dass er das in das per Standard verteilte FTUI Release übernimmt.

AB1970

Hi,
ich hatte hierfür schon einen neuen Thread gestartet, glaube aber nachdem diesem hier gefunden habe , das ich hier bessere Chancen auf eine Lösung habe. Ich suche seit ung. 1 Jahr nach dem Fehler und habe Unmengen an Foreneinträgen durchgearbeitet habe, aber ich sehe den Wald vor lauter Bäumen nicht mehr. Meine Hoffnung ist immer noch, das es was triviales ist, aber ich finde es nicht.

Ich benutze FTUI2.6,  der  HTTP Server kommuniziert mit Website via web sockets. Webbrowser ist der Fully Browser ( immer mal 5 min an wenn ich in der Nähe bin. )

Und genau hier started das Problem, alle Widgets werden aktualisiert und zeigen den korrekten Status an, aber nicht das Chart Widgets. Dies wird nur nach einem  Reload wieder aktualisiert. was könnte das Problem sein?

Hier ein Beispiel Widget , aber wie gesagt, es sind alle Chart Widgets, die das Problem haben.


  <header>Wohnzimmer Luftqualität</header>
   <div class="nobuttons normal"
data-type="chart"
data-device="WZ.Klima"
data-get="co2"
data-logfile='["HISTORY","HISTORY","HISTORY"]'
data-logdevice='["logdb","logdb","logdb"]'
data-columnspec='["WZ.Klima:co2:::$val>750?$val=750:$val","WZ.Klima:co2:::$val>1000?$val=1000:$val","WZ.Klima:co2:::$val>1500?$val=1500:$val"]'
data-style='["ftui l4fill","ftui l0fill","ftui l2fill"]'
data-ptype='["lines","lines","lines"]'
data-uaxis='["primary"]'
data-legend='["Gut","Mittel","Schlecht"]'
data-minvalue="auto"
data-maxvalue="auto"
data-height="15vh"
data-yticks="auto"
data-nofulldays="true"
data-cursorgroup="0"
data-scrollgroup="0"
data-yunit=" ppm"
data-xticks="240">
</div>

Meta Data:

<!DOCTYPE html>
<html>
<head>
    <meta name="fhemweb_url" content="http://10.0.1.58:8083/fhem">
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <link rel="apple-touch-icon" href="http://10.0.1.58/tablet/favhomekit.png"/>
    <link rel="icon" href="favhomekit.png" type="image/png" />
    <!-- define your personal style here, it wont be overwritten  -->
    <link rel="stylesheet" href="css/fhem-tablet-ui-user.css" />
    <meta name="longpoll" content="websocket">
    <!meta name="longpoll" content="1"/>
    <meta charset="UTF-8"/>
    <script src="js/fhem-tablet-ui.min.js" defer></script>
    <title>FHEM-Tablet-UI</title>
</head>
<body onload="document.body.style.opacity='1'" style="background-color:black;">
 
    <div ></div>
    <div class="gridster">
        <ul>
            <li data-row="1" data-col="1" data-sizex="1" data-sizey="7" data-template="menu.html"></li>
        </ul>
    </div>
</body>
</html>


Bin für jede Idee dankbar :-)

Viele Grüsse
Andreas

romakrau

Hallo zusammen,
ich möchte in einer Übersicht meines Stromzählers eine feste Anzeige von 12 Monaten haben, also Jan. - Dec.. Wie müssten die Parameter für data-daysago_start bzw. data-daysago_end lauten.
Ich möchte dann zwischen den Jahren mit dem + bzw. - Button umschalten können. Falls ich noch das Jahr dazu anzeigen könnte wäre mein Chart perfekt.
Gruss Roman

dyna

Moin romakrau,

das aktuelle Jahr bekommst DU mit
data-daysago_start="0Y"
data-daysago_end="-1Y"

Grüße
Jens