Hi,
nachdem ich schon seit ung. 1 Jahr nach dem Fehler suche und Unmengen an Foreneinträgen durchgearbeitet habe, sehe ich 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 ( heute geupdated), der HTTP Server kommuniziert mit Website via web sockets. Webbrowser ist der Fully Browser ( immer mal 1 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?
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
Das Chart wird dann neu gezeichnet, wenn ein Event des bei data-device angegebenen Devices generiert wird (und natürlich, wenn irgendwelche Buttons gedrückt werden).
Gibt es irgendein Event, das durch das Aktivieren des Fully Browsers generiert wird?
Danke!
Es gibt in der Tat ein FHEM Modul für den Fully Browser.
Ich habe die Definition, wie folgt geändert:
<header>Wohnzimmer Luftqualität</header>
<div class="nobuttons normal"
data-type="chart"
data-device="TR.Tablet"
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>
Ich lasse es Dich wissen, ob es was bringt. Aber ein dickes Dankeschön schon einmal.
Hi ,
leider keinen Erfolg. Im angehängten Bild hab ich mir die Websockets mit den Chrome Developertools angeschaut ( nicht das ich zuviel Ahnung hätte , aber Google hilft) Der Websocket übermittelt das Event von TR.Tablet, aber leider wird das Diagramm nicht neugezeichnet. Ich sehe auch nicht das irgendwelche Chart Daten übertragen werden.
Was könnte denn noch das Problem sein?
Vielen Dank für deine bisherige Hilfe!
Andreas
Sorry für die Funkstille, war im Urlaub und nur beding online.
Noch eine Frage um das Thema weiter einzugrenzen: Geht das Update denn in einem "normalen" Browser (FF, Chrome etc.)?
Hi ,
vielen Dank für deine Antwort und keine Sorge , mir ist sehr wohl bewusst, das wir uns alle gegenseitig zu helfen versuchen und daher bin ich dankbar für jede Antwort.
Dieser Fehler fällt auf dem Tablet / Computer in der Regel nicht auf , da man hier meist nur kurz die Seite lädt und dann wieder schließt. Ich habe es unter Safari und Chrome getestet und ja der Fehler ist auch da sichtbar .
Könntest du mal versuchen den Fehler mit einem Chart zu reproduzieren? Eine Besonderheit habe ich wohl: LogDB.
Vielleicht liegt es daran ?
Viele Grüße Andreas
Ich antworte mal hier (Du hast die gleiche Frage ja auch noch mal in einem anderen Thread gestellt). Ich habe jetzt noch mal Deine Definition angeschaut. Wenn Du TR.Tablet als data-device verwendest und "co2" als data-get, dann wird das wohl eher nicht funktionieren (oder gibt es im Device TR.Tablet ein Reading co2?). Lass das data-get mal weg, dann wird das STATE Internal oder das state reading (falls es das gibt) verwendet um zu triggern, vielleicht passt es ja dann.
Dank dir !
Ich habe folgenden Versuch gestartet.
Devices auf
data-device="WZ.Klima"
data-get="co2"
geändert.
Cache gelöscht
FTUI UI neu geladen
2 Stunden gewartet ( Damit das Neuzeichnen gut sichtbar ist )
Tablet angeschaltet
-1 Minute gewartet.
-Messung bei NetAtmo angefordert.
-In der FHEM UI verifiziert, das sich der CO2 Wert geändert hat.
Diagramm wird nicht neu gezeichnet
Siehst du noch einen Fehler? Oder könnte ich das Diagramm alle 5 min automatisch neu zeichnen lassen?
<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>
Ich habe das jetzt noch mal bei mir versucht nachzustellen, kann allerdings nicht mit fully testen sondern nur mit Standard Browsern. LogDB ist kein Problem, das habe ich bei mir auch mal ausprobiert und es hat bei mir geklappt.
Kannst Du noch mal ein List Deines Devices posten (list WZ.Klima in der FHEM Kommandozeile).
Noch was, wenn es am Fully liegt, könntest Du auch noch mal schauen, ob sich was ändert, wenn Du von Websocket auf Longpoll umschaltest
Also anstatt:
<meta name="longpoll" content="websocket">
<meta name="longpoll" content="1">
Hi , dank dir , sorry ich war im Urlaub, daher die späte Antwort.
Hier ist das List:
Internals:
DEF 70:ee:50:83:80:28
Device 70:ee:50:83:80:28
FUUID 61c32aa7-f33f-9b57-dc1c-ad25759041832582
IODev WO.Wetter
LAST_POLL 2022-10-12 11:59:17
NAME WZ.Klima
NOTIFYDEV global
NR 1809
NTFY_ORDER 50-WZ.Klima
STATE gruen
SUBTYPE DEVICE
TYPE netatmo
altitude 178
city Aachen
country DE
dataTypes Temperature,CO2,Humidity,Noise,Pressure
date_setup 2021-12-22 12:46:50
eventCount 5988
firmware 181
last_setup 2021-12-22 12:46:50
last_status_store 2022-10-12 11:57:26
location 50.785734,6.093915
model NAMain
moduleName Wohnzimmer
openRequests 0
stationName Zuhause (Wohnzimmer)
status ok
wifi_status 22
.attraggr:
.attrminint:
Helper:
DBLOG:
co2:
logdb:
TIME 1665569331.33213
VALUE 919
humidity:
logdb:
TIME 1665568757.17293
VALUE 52
pressure:
logdb:
TIME 1665568757.18387
VALUE 1024.4
pressure_abs:
logdb:
TIME 1665568775.84476
VALUE 1003
pressure_trend:
logdb:
TIME 1665568775.85008
VALUE stable
temperature:
logdb:
TIME 1665568757.14344
VALUE 20.0
READINGS:
2022-10-12 11:59:17 .lastupdate 1665568757
2022-10-09 00:58:05 IODev WO.Wetter
2022-10-12 11:59:17 active ok
2022-09-18 20:21:04 c02 1102+1
2022-10-12 12:08:51 co2 919
2022-10-12 11:57:23 humidity 52
2022-10-12 11:57:23 noise 42
2022-10-12 11:57:23 pressure 1024.4
2022-10-12 11:57:23 pressure_abs 1003
2022-10-12 11:57:23 pressure_trend stable
2022-10-12 07:24:37 temp_max 20.3
2022-10-12 05:48:50 temp_min 18.8
2022-10-12 11:57:23 temp_trend stable
2022-10-12 11:57:23 temperature 20.0
helper:
INTERVAL 900
NEXT_POLL 1665569363
last_status_store 1665568646
readingNames:
temperature
co2
humidity
noise
pressure
Attributes:
IODev WO.Wetter
alias Wohnzimmer Klima
devStateIcon gruen:10px-kreis-gruen gelb:10px-kreis-gelb rot:10px-kreis-rot
group Luftqualität
room Technik,Wohnzimmer
stateFormat {
my $voc=ReadingsVal("WZ.Klima","co2",0);
if ($voc <1000) {return "gruen"};
if ($voc <1500) {return "gelb"} else {return "rot"};
}
Deinen Tip probiere ich gerade aus.
Drücke mir die Daumen.
Viele Grüße
Andreas
Leider macht dein letzter Vorschlag auch keinen Unterschied , was mir allerdings auf gefallen ist:
Wenn ich zu einer der Unterseiten und wieder zurückwechsle , dann werden die Chart aktualisiert.
Hilft dir der Hinweis ?
Viele Grüße Andreas
Habe genau das gleiche Problem.
Die Charts haben sich noch nie aktualisiert.
Ein Wechsel auf andere Seite bringt bei mir nichts. Nur wenn ich die Navigationsbuttons "rechts" - "links" betätige oder die Seite neu lade aktualisiert sich das Chart.
Ich habe viele Charts auf diversen Seiten. Teils auf Basis von filelog oder logdb. Es aktualisiert sind keine einziges.
Browser ist Chromium.
Hallo,
ich steige auch mit ein in dieser Diskussion... habe genau das gleiche Problem (schon seit 2018 :) ) und würde es gerne lösen. Ich verwende auch Fully. Hier mein Post:
https://forum.fhem.de/index.php/topic,90412.0.html
Ich verwende Dblog.
lG
Walter
Danke, das ihr euch meldet. Ich bekomme auch langsam das Gefühl, dass es sich hier um einen Softwarefehler im Chart.js handelt. Der Fehler fällten der Regel nicht auf weil ein Tablet die Seiten der Regel neu lädt und diese nicht lange offen bleibt.
Ich kann auch nur sagen , nach langem suchen , ich sehe keine Optionen bei mir mehr und mit alle anderen Widjets funktioniert es einwandfrei.
lg
Andreas
Hallo, ich hatte auch schon das Problem mit Fully und dem Chart widget. Tausche doch mal die widget_chart.js im deinem FTUI-Verzeichnis/js gegen die Version im Anhang aus. Mit der funktioniert es bei mir. Nach jedem Update von FHEM muss ich dann erst mal wieder die widget_chart.js mit der Version im Anhang ersetzen, damit es wieder mit der Aktualisierung klappt.
Hey Tom,
ich kann bestätigen, dass deine Version bei mir updated! Tausend dank, dafür!
Gibt es einen Grund warum dein Fix nicht in das Product integriert wird.
Wäre auch sehr daran interessiert , woran es gelegen hat.
Viele Grüße
Andreas
Vielen Dank für die Info, das hilft mir (hoffentlich) dabei, den Fehler einzukreisen. Wenn ich das richtig sehe, dann ist die Version, mit der es zu klappen scheint, älter als die aus dem standard Repository von setstate.
Ich schaue mir die Unterschiede mal an und kann dann hoffenlich besser sehen, wo das Problem liegt.
Könntet Ihr mal mit der angehängten Version testen, ob das Refresh geht?
Hallo Eki und Andreas,
vielen Dank für eure Hilfe!
@eki: mit dieser Version funktioniert der Refresh im Fully Browser! :)
lG
Walter
Hi Eki,
ich es auch bestätigen , der Refresh funktioniert!! :D
Was war denn das Problem ?
Pflegst du die Version in das offizielle Repository ein?
Viele Grüße
Andreas
Das Problem habe ich ehrlich gesagt noch nicht endgültig durchdrungen, erst mal ist nur die Ursache beseitigt ???.
Ich werde noch mal mit setstate reden, ob er das einpflegt (er hostet die FUIT Version 2, macht da aber eigentlich nichts mehr dran).
Danke Eki,
Bitte hier kurz antworten, wenn der Fix integriert werden sollte , damit alle hier wissen , ob sie die Version im Attachment nehmen müssen, oder ob ein Update reicht .
Kann jemand von euch bitte mit dieser Version noch mal testen.
Hallo Eki,
habe getestet. Bei mir werden die Charts auch mit deiner letzten Version korrekt aktualisiert. Danke!
Hallo zusammen,
Refresh funktioniert bei mir auch. Allerdings habe ich jetzt bemerkt ein Problem bei mir bemerkt. Ich habe ein Wanddisplay das 24/7 meine FTUI anzeigt. Nach einer gewissen Zeit generiert Chromium hohe CPU Lasten. Entsprechend wird die Seite langsamer und auch andere Geräte die FTUI nutzen sind extrem langsam beim Seiten Aufbau. Fhem Web-Oberfläche auch zäher.
Starte ich Chromium neu, ist alles wieder gut.
Ich muss mir das nochmal genauer anschauen. Hatte zeitgleich zwei Fritz-geräte mit neuen Laborversionen geflasht und dachte erst es hängt damit zusammen.
Habe jetzt erstmal wieder die originale Version des chart installiert und beobachte das mal.
Vermute mein Problem kommt woanders her.
Zitat von: eki am 09 November 2022, 17:23:40
Kann jemand von euch bitte mit dieser Version noch mal testen.
Hallo Eki, ich habe jetzt erst gesehen, dass du eine neue Testversion bereit gestellt hast. Das Aktualisieren schein mit dieser Version zu funktionieren, allerdings habe ich mit dieser Version ein anderes Problem: Ich lege 2 Kurven übereinander, mit der alten Testversion, die ich ein paar Beiträge weiter oben gepostet habe, funktioniert sowohl das Aktualisieren als auch das übereinander stapeln. Mit dieser neuen Testversion von dir werden die Graphen nicht mehr übereinander gestapelt, sonder überlagert.
Hast du da dran was geändert?
Hier ist mein FTUI Code:
<div data-type="chart" data-device="FBDECT_210_PV_Anlage_Garage" data-get="power" data-logdevice='["FileLog_FBDECT_210_PV_Anlage_Garage","FileLog_Fronius_Wechselrichter"]' data-height="230" data-columnspec='["4:power","4:PowerFlow_Site_P_PV"]' data-yunit="W" data-minvalue="0" data-maxvalue="5500" data-nofulldays="true" data-daysago_start="-6H" data-daysago_end="-22H" data-cursorgroup="1" data-style='["ftui l0dot","ftui l5fill"]' data-ptype='["lines:1","lines"]'></div>
Danke und Grüße
Wundert mich ein bisschen, dass das mit der alten Version überhaupt so rum geht. Man sollte beim Stacking immer die Graphen, die oben drauf sollten möglichst weit rechts haben. Ich habe das mal getauscht. Kannst Du schauen, ob es mit der folgenden Definition funktioniert?
<div data-type="chart" data-device="FBDECT_210_PV_Anlage_Garage" data-get="power" data-logdevice='["FileLog_Fronius_Wechselrichter","FileLog_FBDECT_210_PV_Anlage_Garage"]' data-height="230" data-columnspec='["4:PowerFlow_Site_P_PV","4:power"]' data-yunit="W" data-minvalue="0" data-maxvalue="5500" data-nofulldays="true" data-daysago_start="-6H" data-daysago_end="-22H" data-cursorgroup="1" data-style='["ftui l5fill","ftui l0dot"]' data-ptype='["lines","lines:0"]'></div>
Hallo eki, Danke für den Hinweis. Mit der geänderten Reihenfolge funktioniert es nun auch mit der neuen Version :)
Hi,
habe das Problem auch bei mir festgestellt und ziemlich lang nach Ursachen gesucht.
Mit der Version hier von Eki funktioniert es ohne Probleme, aber sie ist leider immer noch nicht im SVN.
Eki, weißt du etwas zu dem Stand der Dinge?
Gruß und Danke,
Stefan
Nein, habe ich leider nicht, ich kann nicht mehr tun, als den patch einstellen. Ich frage aber bei setstate noch mal nach.
Super, vielen Dank.