FHEM Forum

FHEM => Frontends => fronthem / smartVISU => Thema gestartet von: Funsailor am 11 Februar 2026, 22:34:58

Titel: Fehler in device.uzsugraph
Beitrag von: Funsailor am 11 Februar 2026, 22:34:58
Hallo zusammen,
hatte mal wieder etwas Zeit übrig und das Update auf 3.6 durchgezogen... Lief prima nur in einem Widget gab es noch ein Problem mit dem Pfad... war aber schnell gelöst.
Jetzt wollte ich auch einmal die grafische UZSU testen.
Ich wollte mir eine vorhanden gut getestete UZSU als Grafik anzeigen lassen und habe, wie im Example vorgeschlagen die in der zweiten Zeile eingefügt, leider funktioniert das so nicht.

{{ device.uzsuicon('OGBadRolloUhr', 'OGBadRolloUhr.sw',   'OGBadRolloUhr',      '', '', 'num', [0, 100]) }}   

{{ device.uzsugraph('OGBadRolloUhrDiagramm','OGBadRolloUhr.sw', 'Rolladen', '1', 'num', [0, 100, 1]) }}
[/code]

Irgendwie werden die Daten nicht richtig übernommen.In der Konsole bekomme ich die Fehlermeldung:

Uncaught TypeError: can't access property "type", this._uzsudata.interpolation is undefined
Ich dachte nicht das mir das so viele Probleme macht, leider komme ich hier nicht weiter.
Hier noch die Einstellunegn im GAD Editor, hat jemand eine Idee wie ich es schaffe, das die Daten von FHEM richtig gesendet werden?

Titel: Aw: Fehler in device.uzsugraph
Beitrag von: wvhn am 11 Februar 2026, 22:53:55
Moin,
das ist sehr wahrscheinlich ein Bug im Widget, bzw. nie mit einem anderen Backend als smarthomeNG getestet worden.
Du kannst mal versuchen, in das Dict für die UZSU folgende Eigenschaften mit aufzunehmen:
{"interpolation": {"type": "none"}}
(hier der Vollständigkeit halber mit allen geschweiften Klammern geschrieben. Die erste und die letzte lässt Du weg, wenn Du dies in das Dict einsetzt.)
Hoffentlich überschreibt fronthem das nicht wieder, wenn es die Schaltzeiten einsetzt.

Ich schau parallel mal, wo im Widget die Auswertung der Interpolation ausgeblendet werden muss. Interpolation ist ein Feature, das nur smarthomeNG beherrscht.

Gruß
Wolfram
Titel: Aw: Fehler in device.uzsugraph
Beitrag von: wvhn am 12 Februar 2026, 00:13:01
Vor die Zeile 2072 (aktueller Stand v3.6)
          // Interpolation buttons
fügst Du folgende Zeile ein:
       if (self.options.designtype == 0){
und dann nach Zeile 2107 noch eine geschweifte Klammer
};
Gruß
Wolfram
Titel: Aw: Fehler in device.uzsugraph
Beitrag von: wvhn am 12 Februar 2026, 13:05:36
Hab nochmal weiter getestet: mit beiden Änderungen zusammen könnte es gehen, aber das ist zu unsicherer. Sorry!
 
Eine neue Version der ./widgets/device.js liegt in diesem Gist: https://gist.github.com/wvhn/e083451bf324aaa8d6550644bd4780dc
Diese bitte einfach austauschen.

Wenn Du sie getestet hast, schiebe ich sie in den develop branch von smartVISU.

Gruß
Wolfram
Titel: Aw: Fehler in device.uzsugraph
Beitrag von: Funsailor am 12 Februar 2026, 21:28:32
Hallo Wolfram,
vielen herzlichen Dank für deine schnelle Reaktion. Was soll ich sagen, es geht! :)
Du kannst die device.js in den Develop branch schieben!

Eine Frage zum Widget. Die Überschrift und die Auswahl der Tage kommen sich ein wenig ins Gehege. Entferne ich die Überschrift rutsch die Tagesauswahl nach unten in die Grafik. (Siehe Bild "Ohne_Titel"). Kann man das so darstellen das die Tagesauswahl immer über der Grafik und unter der Headline steht?

LG Michael
Titel: Aw: Fehler in device.uzsugraph
Beitrag von: wvhn am 13 Februar 2026, 12:45:14
Moin Michael,

danke fürs Testen. Ich pushe die Änderungen nachher in den develop branch von smartVISU.

Mit dem Layout ist das nicht ganz so einfach. Das wird von Highcharts berechnet. Vermutlich hat der Autor deswegen auch als Default "UZSU" für den Titel vorgegeben, damit der Platz immer reserviert ist. Ich muss mir mal in Ruhe ansehen, ob und wie ich das besser aufteilen kann. Das Problem besteht ja nur bei schmalen Displays.

Wenn Du die Überschrift nicht brauchst, oder einfach in html über dem Widget anzeigen kannst, dann kannst Du sie per CSS ausblenden, ohne den Platzhalter aufzugeben. Dazu gibst Du dem Widget eine eindeutige ID, z.B. "myID". smartVISU kombiniert dies mit dem Seitennamen (z.B. "myPage") zu "myPage-myID".
In der visu.css im Ordner Deiner Seiten gibst Du dann folgendes an, wobei Du die Beispielnamen durch die echten ersetzt:
#myPage-myID .highcharts-title {
    fill: none;
}
Dies kannst Du auch auf schmale Displays begrenzen, indem Du z.B. schreibst
@media all and (max-width: 1050px) {
  #myPage-myID .highcharts-title {
    fill: none;
  }
}
oder grundsätzlich für alle device.uzsugraph vorgeben
[data-widget="device.uzsugraph"] .highcharts-title {
    fill: none;
}


Gruß
Wolfram

P.S.: habe die Moderation gebeten, das Thema in einen neuen Thread zu verschieben, da es etwas off-topic war und so besser zu finden ist.
Danke für die Umsetzung!