FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: BigGB am 29 Oktober 2026, 18:27:12

Titel: [FTUI 3] Charts ftui-popup leer, Kachel mit gleicher Definition hat Daten
Beitrag von: BigGB am 29 Oktober 2026, 18:27:12
Hallo zusammen,

seit einiger Zeit zeigen bei mir alle Charts innerhalb von ftui-popup keine Daten mehr. Achsen und Gitter werden gezeichnet (Skala 0–1), aber es erscheinen keine Linien oder Balken. Früher funktionierten die Popup-Charts. Ein Chart mit gleicher Definition in einer normalen ftui-grid-tile enthält die Daten korrekt.

Umgebung

FTUI 3, aktueller Stand: am 28.10.2026 per update force https://raw.githubusercontent.com/knowthelist/ftui/master/controls_ftui.txt komplett neu geladen
Logging über DbLog (myDbLog, DEF ./db.conf .*:.*)
Browser: Firefox, außerdem getestet in [anderer Browser / privates Fenster], Cache deaktiviert, Neuladen mit Strg+F5

Popup, wie es bei den Tests unten eingebunden war (direkt in index1.html, keine Content-Datei)
<ftui-popup color="secondary" id="gasverbrauch" timeout="60" position="page" height="700px" width="90%">

<header size="3">Gasverbrauch</header> <ftui-label color="danger" size=3 bold slot="close" popup-close>Beenden</ftui-label> <ftui-column color="secondary"> <ftui-chart y-label="Gaszähler &#13221;" y1-label="akt. Verbrauch &#13221;/h"> <ftui-chart-data y-axis-id="y" label="Gaszähler &#13221;" fill background-color="#d6305650" color="#d63056" log="myDbLog" file="history" spec="HM_Gas:zaehlerstand" [update]="HM_Gas:zaehlerstand:time" type="line" point-radius="0"></ftui-chart-data> <ftui-chart-data y-axis-id="y1" label="akt. Verbrauch &#13221;/h" fill background-color="rgba(75,192,192,0.2)" color="rgba(75,192,192,1)" log="myDbLog" file="history" spec="HM_Gas:1.GAS_POWER" [update]="HM_Gas:1.GAS_POWER:time" type="line" point-radius="0"></ftui-chart-data> <ftui-chart-controls units="day, week"></ftui-chart-controls> </ftui-chart> <ftui-chart y-label="Verbrauch &#13221;/Tag" unit="month"> <ftui-chart-data label="Verbrauch &#13221;/Tag" background-color="rgba(255,152,0,0.6)" color="rgba(255,152,0,1)" log="myDbLog" file="history" spec="HM_Gas:zaehlerstand:0:delta-d" [update]="HM_Gas:zaehlerstand:time" type="bar"></ftui-chart-data> <ftui-chart-controls units="week, month"></ftui-chart-controls> </ftui-chart> </ftui-column> </ftui-popup>

Das erste Chart steht in fast gleicher Form (ohne ftui-chart-controls) zusätzlich in einer ftui-grid-tile auf derselben Seite.

Was ich geprüft habe

Die Daten in DbLog sind vorhanden. get myDbLog - - 2026-10-27 2026-10-29 HM_Gas:zaehlerstand liefert Werte etwa alle 2 Minuten.
Netzwerkanalyse: Die Anfragen get myDbLog history - 2026-10-28_00:00:00 2026-10-29_00:00:00 HM_Gas:zaehlerstand bzw. ...HM_Gas:1.GAS_POWER werden gesendet und liefern korrekte Daten (z. B. 2026-10-28_00:01:47 14135.04). Diese Specs nutzt aber auch die Kachel. Für das dritte Popup-Chart (HM_Gas:zaehlerstand:0:delta-d) taucht keine Anfrage auf.
Konsole, alle Charts der Seite:
document.querySelectorAll('ftui-chart').forEach((c,i)=>console.log(i, c.chart ? c.chart.data.datasets.map(d=>d.label+': '+(d.data?d.data.length:0)+' Punkte, erster: '+JSON.stringify(d.data&&d.data[0])) : 'kein chart-Objekt'))Ergebnis für Chart 0 (die Kachel):
'Gaszähler ㎥: 875 Punkte, erster: {"x":"2026-10-28_00:01:47","y":14135.04}'
'akt. Verbrauch ㎥/h: 467 Punkte, erster: {"x":"2026-10-28_00:01:47","y":0.01}'
Alle übrigen Charts der Seite (in Popups): nur Einträge der Form "undefined: 0 Punkte, erster: undefined". Skalen von Chart 0:
x: 1793142000000 1793228400000 y: 14135 14140 parser: "yyyy-MM-dd_HH:mm:ss"Konsole, nur das Gas-Popup (bei geöffnetem Popup):
document.querySelectorAll('#gasverbrauch ftui-chart-data').forEach((d,i)=>console.log(i, d.constructor.name, d.getAttribute('spec')))
→ 0 FtuiChartData HM_Gas:zaehlerstand
→ 1 FtuiChartData HM_Gas:1.GAS_POWER
→ 2 FtuiChartData HM_Gas:zaehlerstand:0:delta-d

document.querySelectorAll('#gasverbrauch ftui-chart').forEach((c,i)=>console.log(i, c.chart ? c.chart.data.datasets.map(d=>d.label+': '+(d.data?d.data.length:0)) : 'kein chart-Objekt'))
→ 0 [ "undefined: 0", "undefined: 0" ]
→ 1 [ "undefined: 0" ]
Die ftui-chart-data-Elemente sind also als FtuiChartData initialisiert, die zugehörigen Datasets haben aber weder Label noch Daten.

Ohne Erfolg ausprobiert (bei geöffnetem Popup):
document.querySelectorAll('#gasverbrauch ftui-chart').forEach(c=>{ if(c.refresh) c.refresh(); else if(c.fetchData) c.fetchData(); })
document.querySelectorAll('#gasverbrauch ftui-chart-data').forEach(d=>d.setAttribute('update', Date.now()))
document.querySelectorAll('#gasverbrauch ftui-chart').forEach(c=>c.replaceWith(c.cloneNode(true)))
Nach dem replaceWith wurde das Chart neu aufgebaut (andere Achsenskalierung), blieb aber leer. Außerdem habe ich die Definition der Kachel 1:1 ins Popup kopiert, ohne ftui-chart-controls. Auch das bleibt leer.

Vorgeschichte, eventuell relevant
FTUI brach beim Start mit [ftuiApp] error: initComponents - Timed out in 5000ms ab. Ursache war eine ältere Zusatzkomponente components/panel/panel-dimmer.component.js (Dateidatum 29.12.2020), die ../icon/icon-multicolor.component.js importierte. Diese Datei existiert nicht mehr. Ich habe den Import auf ../icon/icon.component.js und das Tag ftui-icon-multicolor auf ftui-icon umgestellt. Der Timeout ist seitdem weg, die Popup-Charts bleiben aber leer.

Weitere Konsolenmeldungen, vermutlich ohne Zusammenhang:

config.local.js nicht gefunden (die Datei habe ich nicht angelegt)
SyntaxError: expected expression, got ',' (Aufrufkette ftui.binding.js → filterValue → ftui.helper.js:155), also ein fehlerhafter Filterausdruck in einem anderen Widget
Not Found für /fhem/images/openautomation/unlocked.svg

Frage: Ist bekannt, dass Charts in ftui-popup in der aktuellen Version keine Daten laden? Muss man Charts im Popup inzwischen anders einbinden, oder gibt es dafür einen Fix?

Danke und viele Grüße
BigGB